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)