This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: show size of stack needed by functions
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Sebastian <sebastianspublicaddress at googlemail dot com>
- Cc: gcc at gcc dot gnu dot org, Richard Guenther <richard dot guenther at gmail dot com>, Ian Lance Taylor <iant at google dot com>
- Date: Tue, 10 May 2016 01:17:37 +0200
- Subject: Re: show size of stack needed by functions
- Authentication-results: sourceware.org; auth=none
- References: <1287000338 dot 3466 dot 9 dot camel at svetz> <AANLkTimW2rsS6_f50LA52AZBQ0hTsLg5kXUM7Djpkh90 at mail dot gmail dot com> <20160509234710 dot 4fa38d7c at wrona>
> Output of -fstack-usage is not accurate
> =======================================
>
> This article mentions a "call cost":
> https://mcuoneclipse.com/2015/08/21/gnu-static-stack-usage-analysis/
>
> I checked for myself, by looking at the change of the stackpointer with a
> debugger, and, yes, there seems to be a constant mismatch (2 bytes with
> avr-gcc-5.3) between change of stack pointer and output of -fstack-usage.
> In some rare cases there are more differences, which I didn't understand
> yet.
That's a bug, very likely in the AVR back-end, which must be fixed by someone
who knows the AVR architecture.
> Wishes:
> - Add stack-usage in output of -fdump-ipa-cgraph, so that you don't need to
> relate information from two input files at all. I guess this is not
> trivial. Or is it?
It's not difficult, but there is a conflict between them because -fstack-usage
is designed to be conservatively correct while -fdump-ipa-cgraph is not (it
does not dump the full callgraph).
--
Eric Botcazou