arm.c (arm_unwind_emit): Suppress unused unwinding annotations.
2008-03-15 Paul Brook <paul@codesourcery.com> gcc/ * config/arm/arm.c (arm_unwind_emit): Suppress unused unwinding annotations. (arm_output_fn_unwind): Mark functions that can not be unwound. From-SVN: r133266
This commit is contained in:
parent
393ab25284
commit
80efdb6af5
@ -1,3 +1,9 @@
|
||||
2008-03-15 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
* config/arm/arm.c (arm_unwind_emit): Suppress unused unwinding
|
||||
annotations.
|
||||
(arm_output_fn_unwind): Mark functions that can not be unwound.
|
||||
|
||||
2008-03-15 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
* config/arm/arm.c (arm_rtx_costs_1): Add costs for ARMv6 value
|
||||
|
@ -18633,6 +18633,11 @@ arm_unwind_emit (FILE * asm_out_file, rtx insn)
|
||||
if (!ARM_EABI_UNWIND_TABLES)
|
||||
return;
|
||||
|
||||
if (!(flag_unwind_tables || cfun->uses_eh_lsda)
|
||||
&& (TREE_NOTHROW (current_function_decl)
|
||||
|| cfun->all_throwers_are_sibcalls))
|
||||
return;
|
||||
|
||||
if (GET_CODE (insn) == NOTE || !RTX_FRAME_RELATED_P (insn))
|
||||
return;
|
||||
|
||||
@ -18713,7 +18718,17 @@ arm_output_fn_unwind (FILE * f, bool prologue)
|
||||
if (prologue)
|
||||
fputs ("\t.fnstart\n", f);
|
||||
else
|
||||
fputs ("\t.fnend\n", f);
|
||||
{
|
||||
/* If this function will never be unwound, then mark it as such.
|
||||
The came condition is used in arm_unwind_emit to suppress
|
||||
the frame annotations. */
|
||||
if (!(flag_unwind_tables || cfun->uses_eh_lsda)
|
||||
&& (TREE_NOTHROW (current_function_decl)
|
||||
|| cfun->all_throwers_are_sibcalls))
|
||||
fputs("\t.cantunwind\n", f);
|
||||
|
||||
fputs ("\t.fnend\n", f);
|
||||
}
|
||||
}
|
||||
|
||||
static bool
|
||||
|
Loading…
x
Reference in New Issue
Block a user