From patchwork Fri Nov 26 19:19:08 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: Fri, 26 Nov 2010 09:19:08 -0000
From: Thomas Klein
X-Patchwork-Id: 73218
Message-Id: <4CF0082C.9030500@web.de>
To: Richard Earnshaw
Cc: gcc-patches@gcc.gnu.org
Hello
Hope this is more matching the way it should.
Please let me know if I'm wrong here.
regards
Thomas
2010-11-26 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 167184)
+++ gcc/config/arm/arm.c (working copy)
@@ -15765,6 +15765,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
@@ -20577,6 +20581,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)