Fix PR46932: Block auto increment on frame pointer
authorWilco Dijkstra <wdijkstr@arm.com>
Wed, 26 Jul 2017 10:49:17 +0000 (10:49 +0000)
committerWilco Dijkstra <wilco@gcc.gnu.org>
Wed, 26 Jul 2017 10:49:17 +0000 (10:49 +0000)
commite17114487df7f90d8e015efad697a3cc93845b90
tree9f02cf54fd2ecd11c81775e3027fc7f58fa5b76d
parent108c3c88d7273be093ff1431760bff5774381ac1
Fix PR46932: Block auto increment on frame pointer

Block auto increment on frame pointer references.  This is never
beneficial since the SFP expands into SP+C or FP+C during register
allocation.  The generated code for the testcase is now as expected:

str x30, [sp, -32]!
strb w0, [sp, 31]
add x0, sp, 31
bl foo3
ldr x30, [sp], 32
ret

    gcc/
PR middle-end/46932
* auto-inc-dec.c (parse_add_or_inc): Block autoinc on sfp.

    gcc/testsuite/
PR middle-end/46932
* gcc.dg/pr46932.c: New testcase.

From-SVN: r250564
gcc/ChangeLog
gcc/auto-inc-dec.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr46932.c [new file with mode: 0644]