On 13/11/15 10:34, Richard Biener wrote:
On Thu, Nov 12, 2015 at 4:07 PM, Andre Vieira
<andre.simoesdiasvie...@arm.com> wrote:
Hi,
This patch changes this testcase to make sure LTO will not optimize away
the assignment of the local array to a global variable which was introduced
to make sure stack space was made available for the test to work.
This is correct because LTO is supposed to optimize this global away as at
link time it knows this global will never be read. By adding a read of the
global, LTO will no longer optimize it away.
But that's only because we can't see that bar doesn't clobber it, else
we would optimize away the check and get here again. Much better
to mark 'dummy' with __attribute__((used)) and go away with 'g' entirely.
Richard.
Tested by running regressions for this testcase for various ARM targets.
Is this OK to commit?
Thanks,
Andre Vieira
gcc/testsuite/ChangeLog:
2015-11-06 Andre Vieira <andre.simoesdiasvie...@arm.com>
* gcc.dg/torture/stackalign/builtin-return-1.c: Added read
to global such that a write is not optimized away by LTO.
Hi Richard,
That would be great but __attribute__ ((used)) can only be used for
static variables and making dummy static would defeat the purpose here.
Cheers,
Andre