Commit 80efdb6a by Paul Brook Committed by Paul Brook

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
parent 393ab252
2008-03-15 Paul Brook <paul@codesourcery.com> 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 * config/arm/arm.c (arm_rtx_costs_1): Add costs for ARMv6 value
extension instructions. extension instructions.
......
...@@ -18633,6 +18633,11 @@ arm_unwind_emit (FILE * asm_out_file, rtx insn) ...@@ -18633,6 +18633,11 @@ arm_unwind_emit (FILE * asm_out_file, rtx insn)
if (!ARM_EABI_UNWIND_TABLES) if (!ARM_EABI_UNWIND_TABLES)
return; 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)) if (GET_CODE (insn) == NOTE || !RTX_FRAME_RELATED_P (insn))
return; return;
...@@ -18713,7 +18718,17 @@ arm_output_fn_unwind (FILE * f, bool prologue) ...@@ -18713,7 +18718,17 @@ arm_output_fn_unwind (FILE * f, bool prologue)
if (prologue) if (prologue)
fputs ("\t.fnstart\n", f); fputs ("\t.fnstart\n", f);
else 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 static bool
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment