Fix PR46932: Block auto increment on frame pointer
commit5c31bc69ecb34f43b96ec8f62464087039d16522
authorwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Jul 2017 10:49:17 +0000 (26 10:49 +0000)
committerwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Jul 2017 10:49:17 +0000 (26 10:49 +0000)
tree9f02cf54fd2ecd11c81775e3027fc7f58fa5b76d
parent3cfa73b5672911258f1c5d5844541f10b30456d1
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250564 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/auto-inc-dec.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr46932.c [new file with mode: 0644]