[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2017-01-18 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 --- Comment #15 from Jakub Jelinek --- Author: jakub Date: Wed Jan 18 17:39:56 2017 New Revision: 244585 URL: https://gcc.gnu.org/viewcvs?rev=244585=gcc=rev Log: PR target/77416 * gcc.target/powerpc/pr77416.c Guard the test only

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2017-01-12 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 Richard Biener changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2017-01-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2016-09-26 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 --- Comment #12 from Segher Boessenkool --- The testcase also fails for -m64 for me (on BE). I have -m64 explicitly in the RUNTESTFLAGS. The testcase has /* { dg-skip-if "do not override -mcpu" { powerpc64*-*-* } { "-mcpu=*" } {

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2016-09-23 Thread seurer at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 Bill Seurer changed: What|Removed |Added CC||seurer at linux dot vnet.ibm.com ---

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2016-09-19 Thread vmakarov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 --- Comment #10 from Vladimir Makarov --- Author: vmakarov Date: Mon Sep 19 21:38:27 2016 New Revision: 240247 URL: https://gcc.gnu.org/viewcvs?rev=240247=gcc=rev Log: 2016-09-19 Vladimir Makarov PR

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2016-09-16 Thread pthaugen at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 --- Comment #9 from Pat Haugen --- (In reply to Vladimir Makarov from comment #8) > > The attached patch should solve the problem. If it works for you. I'll > commit it on the next week. I verified the patch fixes the problem. Thanks.

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2016-09-16 Thread vmakarov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 --- Comment #8 from Vladimir Makarov --- Sorry for delay with the answer. I had a long vacation. LRA remat sub-pass did not check relation between the hard coded insn registers. It checked only relations between operand registers and other

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2016-09-16 Thread vmakarov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 --- Comment #7 from Vladimir Makarov --- Created attachment 39637 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39637=edit A patch candidate

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2016-09-01 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 --- Comment #6 from Peter Bergner --- Looking closer, it does seem remat is trying to handle these hard coded registers via its hard_regs field. One thing that strikes me as I look at that code, it checks for reg->type being == OP_IN or !=

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2016-09-01 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 --- Comment #5 from Peter Bergner --- So this is a latent bug in LRA's rematerialization code. For this test case, we have insn: Basic BlocK 6: ... (insn 179 178 92 6 (parallel [ (set (reg/v:SI 175 [ pD.2425 ])

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2016-09-01 Thread pthaugen at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 --- Comment #4 from Pat Haugen --- Didn't really think of this before, but the call isn't necessarily the problem, addze sets the CA bit too. So it's invalid to remataterialize the addze after an addze.

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2016-08-31 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 --- Comment #3 from Peter Bergner --- Here's a creduce'd minimal version of the test case that shows the addz after the function call. Same compiler options as above. extern int fn2 (); extern void fn3 (); extern void fn4 (int); int a, c, d,

[Bug rtl-optimization/77416] [7 Regression] LRA rematerializing use of CA reg across function call

2016-08-30 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77416 Peter Bergner changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |bergner at gcc dot gnu.org ---