This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Add static size report when using -fstack-usage for ARM targets
- From: Thomas Klein <th dot r dot klein at web dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 24 Nov 2010 16:50:07 +0000
- Subject: Re: Add static size report when using -fstack-usage for ARM targets
- References: <4CE92EC5.6080702@web.de> <AANLkTikxoV8WOzvEFw+WtrW6XdZtd4y1dLZuzToA3Px1@mail.gmail.com>
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 <th.r.klein@web.de>
* 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)