public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
To: <gcc-patches@gcc.gnu.org>, Denis Chertykov <chertykov@gmail.com>,
	"Eric Botcazou" <botcazou@adacore.com>
Cc: Sebastian Huber <sebastian.huber@embedded-brains.de>
Subject: [Patch, avr] Include INCOMING_FRAME_SP_OFFSET when printing stack usage
Date: Fri, 13 May 2016 15:14:00 -0000	[thread overview]
Message-ID: <87posq2dp1.fsf@atmel.com> (raw)

Hi,

  This trivial patch adds INCOMING_FRAME_SP_OFFSET to
  current_function_static_stack_size, thus fixing the 2 (or 3, for
  3 byte PC devices) byte difference between reported and actual
  values when using -fstack-usage.

  The patch came about because of this discussion
  (https://gcc.gnu.org/ml/gcc/2016-05/msg00107.html). For AVRs, the
  return address gets pushed into the stack as part of the call
  instruction, and the number of bytes pushed varies by PC width.
  This is already taken care of when defining INCOMING_FRAME_SP_OFFSET,
  so I just add it to the previously computed value when setting
  current_function_static_stack_size. 

  If this is ok, could someone commit please? I don't have commit
  access.

Regards
Senthil

gcc/ChangeLog

2016-05-13  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* config/avr/avr.c (avr_expand_prologue): Add INCOMING_FRAME_SP_OFFSET
  to computed stack_usage.


diff --git gcc/config/avr/avr.c gcc/config/avr/avr.c
index 8de39e0..ba5cd91 100644
--- gcc/config/avr/avr.c
+++ gcc/config/avr/avr.c
@@ -1484,7 +1484,7 @@ avr_expand_prologue (void)
   avr_prologue_setup_frame (size, set);
 
   if (flag_stack_usage_info)
-    current_function_static_stack_size = cfun->machine->stack_usage;
+    current_function_static_stack_size = cfun->machine->stack_usage + INCOMING_FRAME_SP_OFFSET;
 }
 
 

             reply	other threads:[~2016-05-13 15:14 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-13 15:14 Senthil Kumar Selvaraj [this message]
2016-05-19 13:10 ` Senthil Kumar Selvaraj
2016-05-21 10:55   ` Denis Chertykov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87posq2dp1.fsf@atmel.com \
    --to=senthil_kumar.selvaraj@atmel.com \
    --cc=botcazou@adacore.com \
    --cc=chertykov@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=sebastian.huber@embedded-brains.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).