[Bug middle-end/46932] Inefficient code sequence to access local variable

2017-09-13 Thread aldyh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46932

--- Comment #10 from Aldy Hernandez  ---
Author: aldyh
Date: Wed Sep 13 16:57:00 2017
New Revision: 252423

URL: https://gcc.gnu.org/viewcvs?rev=252423&root=gcc&view=rev
Log:
Add check_effective_target_autoincdec.

Add check_effective_target_autoincdec that returns true if a target
runs the auto_inc_dec optimization pass.

gcc/
* doc/sourcebuild.texi (autoincdec): Add autoincdec description.

gcc/testsuite/
PR middle-end/46932
* gcc.dg/pr46932.c: Use dg-require-effective-target autoincdec.
* lib/target-supports.exp: Add check_effective_target_autoincdec.

Modified:
branches/range-gen2/gcc/ChangeLog
branches/range-gen2/gcc/doc/sourcebuild.texi
branches/range-gen2/gcc/testsuite/ChangeLog
branches/range-gen2/gcc/testsuite/gcc.dg/pr46932.c
branches/range-gen2/gcc/testsuite/lib/target-supports.exp

[Bug middle-end/46932] Inefficient code sequence to access local variable

2017-09-13 Thread aldyh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46932

--- Comment #9 from Aldy Hernandez  ---
Author: aldyh
Date: Wed Sep 13 16:35:42 2017
New Revision: 252322

URL: https://gcc.gnu.org/viewcvs?rev=252322&root=gcc&view=rev
Log:
Fix unresolved in gcc.dg/pr46932.c

Build only if pre-increment is supported.  Given there is no config test,
add a list of targets which have HAVE_PRE_INCREMENT set.

testsuite/
PR middle-end/46932
* gcc.dg/pr46932.c: Compile on targets with pre-increment.

Modified:
branches/range-gen2/gcc/testsuite/ChangeLog
branches/range-gen2/gcc/testsuite/gcc.dg/pr46932.c

[Bug middle-end/46932] Inefficient code sequence to access local variable

2017-08-14 Thread wilco at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46932

--- Comment #9 from Wilco  ---
Author: wilco
Date: Mon Aug 14 11:18:50 2017
New Revision: 251087

URL: https://gcc.gnu.org/viewcvs?rev=251087&root=gcc&view=rev
Log:
Add check_effective_target_autoincdec.

Add check_effective_target_autoincdec that returns true if a target
runs the auto_inc_dec optimization pass.

gcc/
* doc/sourcebuild.texi (autoincdec): Add autoincdec description.

gcc/testsuite/
PR middle-end/46932
* gcc.dg/pr46932.c: Use dg-require-effective-target autoincdec.
* lib/target-supports.exp: Add check_effective_target_autoincdec.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/sourcebuild.texi
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/pr46932.c
trunk/gcc/testsuite/lib/target-supports.exp

[Bug middle-end/46932] Inefficient code sequence to access local variable

2017-08-07 Thread wilco at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46932

--- Comment #8 from Wilco  ---
Author: wilco
Date: Mon Aug  7 13:56:02 2017
New Revision: 250918

URL: https://gcc.gnu.org/viewcvs?rev=250918&root=gcc&view=rev
Log:
Fix unresolved in gcc.dg/pr46932.c

Build only if pre-increment is supported.  Given there is no config test,
add a list of targets which have HAVE_PRE_INCREMENT set.

testsuite/
PR middle-end/46932
* gcc.dg/pr46932.c: Compile on targets with pre-increment.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/pr46932.c

[Bug middle-end/46932] Inefficient code sequence to access local variable

2017-07-29 Thread ro at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46932

Rainer Orth  changed:

   What|Removed |Added

 CC||ro at gcc dot gnu.org

--- Comment #7 from Rainer Orth  ---
The testcase comes up as UNSUPPORTED on many targets (Linux/x86_64,
Solaris/SPARC,
Solaris/x86, ...):

UNRESOLVED: gcc.dg/pr46932.c scan-rtl-dump-not auto_inc_dec "success"

The log file has

gcc.dg/pr46932.c: dump file does not exist

and indeed no log file is created at all.

  Rainer

[Bug middle-end/46932] Inefficient code sequence to access local variable

2017-07-26 Thread wilco at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46932

Wilco  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |8.0

--- Comment #6 from Wilco  ---
Fixed in GCC8. Given this is a minor CQ inefficiency backporting doesn't make
sense.

[Bug middle-end/46932] Inefficient code sequence to access local variable

2017-07-26 Thread wilco at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46932

--- Comment #5 from Wilco  ---
Author: wilco
Date: Wed Jul 26 10:49:17 2017
New Revision: 250564

URL: https://gcc.gnu.org/viewcvs?rev=250564&root=gcc&view=rev
Log:
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]!
strbw0, [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.

Added:
trunk/gcc/testsuite/gcc.dg/pr46932.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/auto-inc-dec.c
trunk/gcc/testsuite/ChangeLog

[Bug middle-end/46932] Inefficient code sequence to access local variable

2017-07-20 Thread wilco at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46932

--- Comment #4 from Wilco  ---
Patch: https://gcc.gnu.org/ml/gcc-patches/2017-07/msg01245.html