RE: [PATCH] Fix PR66168: ICE due to incorrect invariant register info

2015-05-27 Thread Thomas Preud'homme
> From: Jeff Law [mailto:l...@redhat.com] > Sent: Wednesday, May 27, 2015 11:24 PM > Ah, OK. I was looking at the code prior to the call for > can_move_invariant_reg in move_invariant_reg which implies that DEST > can > be a subreg, but REG can not. > > But with that check in can_move_invariant_r

Re: [PATCH] Fix PR66168: ICE due to incorrect invariant register info

2015-05-27 Thread Jeff Law
On 05/24/2015 07:26 PM, Thomas Preud'homme wrote: From: Jeff Law [mailto:l...@redhat.com] Sent: Saturday, May 23, 2015 6:54 AM - if (!can_move_invariant_reg (loop, inv, reg)) + if (!can_move_invariant_reg (loop, inv, dest)) Won't this run into into the same problem if DEST is a SUBRE

RE: [PATCH] Fix PR66168: ICE due to incorrect invariant register info

2015-05-24 Thread Thomas Preud'homme
> From: Jeff Law [mailto:l...@redhat.com] > Sent: Saturday, May 23, 2015 6:54 AM > > > > - if (!can_move_invariant_reg (loop, inv, reg)) > > + if (!can_move_invariant_reg (loop, inv, dest)) > Won't this run into into the same problem if DEST is a SUBREG? One of the very first test in can

Re: [PATCH] Fix PR66168: ICE due to incorrect invariant register info

2015-05-22 Thread Jeff Law
On 05/20/2015 08:04 PM, Thomas Preud'homme wrote: From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme From: Steven Bosscher [mailto:stevenb@gmail.com] Sent: Tuesday, May 19, 2015 7:21 PM Not OK. This will break in move_invariants() whe

RE: [PATCH] Fix PR66168: ICE due to incorrect invariant register info

2015-05-20 Thread Thomas Preud'homme
> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme > > From: Steven Bosscher [mailto:stevenb@gmail.com] > > Sent: Tuesday, May 19, 2015 7:21 PM > > > > Not OK. > > This will break in move_invariants() when it looks at REGNO (inv->reg)

RE: [PATCH] Fix PR66168: ICE due to incorrect invariant register info

2015-05-20 Thread Thomas Preud'homme
> From: Steven Bosscher [mailto:stevenb@gmail.com] > Sent: Tuesday, May 19, 2015 7:21 PM > > Not OK. > This will break in move_invariants() when it looks at REGNO (inv->reg). Indeed. I'm even surprised all tests passed. Ok I will just prevent moving in such a case. I'm running the tests now a

Re: [PATCH] Fix PR66168: ICE due to incorrect invariant register info

2015-05-19 Thread Steven Bosscher
On Tue, May 19, 2015 at 12:17 PM, Thomas Preud'homme wrote: > 2015-05-18 Thomas Preud'homme > > PR rtl-optimization/66168 > * loop-invariant.c (move_invariant_reg): Set inv->reg to destination > of inv->insn when moving an invariant without introducing a temporary >

[PATCH] Fix PR66168: ICE due to incorrect invariant register info

2015-05-19 Thread Thomas Preud'homme
Hi, r223113 made it possible for invariant to actually be moved rather than moving the source to a new pseudoregister. However, when doing so the inv->reg is not set up properly: in case of a subreg destination it holds the inner register rather than the subreg expression. This patch fixes that.