From patchwork Wed Nov 24 16:50:07 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Add static size report when using -fstack-usage for ARM targets Date: Wed, 24 Nov 2010 06:50:07 -0000 From: Thomas Klein X-Patchwork-Id: 72909 Message-Id: <4CED423F.2020508@web.de> To: gcc-patches@gcc.gnu.org Hello Sorry for sending this previously to the wrong mailing list. I've tried to correct and reduce the lines of code here. The static size is in both cases "outgoing_args - saved_args". regards Thomas 2010-11-24 Thomas Klein * config/arm/arm.c (arm_expand_prologue): Report the static stack size if -fstack-usage is used * config/arm/arm.c (thumb1_expand_prologue): Report the static stack size if -fstack-usage is used Index: gcc/config/arm/arm.c =================================================================== --- gcc/config/arm/arm.c (revision 167110) +++ gcc/config/arm/arm.c (working copy) @@ -15726,6 +15726,10 @@ arm_expand_prologue (void) } } + if (flag_stack_usage) + current_function_static_stack_size = offsets->outgoing_args + - offsets->saved_args; + if (offsets->outgoing_args != offsets->saved_args + saved_regs) { /* This add can produce multiple insns for a large constant, so we @@ -20538,6 +20542,10 @@ thumb1_expand_prologue (void) emit_move_insn (gen_rtx_REG (Pmode, ARM_HARD_FRAME_POINTER_REGNUM), stack_pointer_rtx); + if (flag_stack_usage) + current_function_static_stack_size = offsets->outgoing_args + - offsets->saved_args; + amount = offsets->outgoing_args - offsets->saved_regs; amount -= 4 * thumb1_extra_regs_pushed (offsets, true); if (amount)