Re: [PATCH] [LRA] Fix wrong-code PR 91109 take 2

2019-08-16 Thread Vladimir Makarov
On 2019-08-16 11:06 a.m., Vladimir Makarov wrote: On 2019-08-15 3:46 p.m., Bernd Edlinger wrote: Hi, as discussed in the PR 91109 audit trail, my previous patch missed a case where no spilling is necessary, but the re-materialized instruction has now scratch regs without a hard register assi

Re: [PATCH] [LRA] Fix wrong-code PR 91109 take 2

2019-08-16 Thread Vladimir Makarov
On 2019-08-15 3:46 p.m., Bernd Edlinger wrote: Hi, as discussed in the PR 91109 audit trail, my previous patch missed a case where no spilling is necessary, but the re-materialized instruction has now scratch regs without a hard register assignment. And thus the LRA pass falls out of the loop

Re: [PATCH] [LRA] Fix wrong-code PR 91109 take 2

2019-08-16 Thread Bernd Edlinger
On 8/15/19 9:46 PM, Bernd Edlinger wrote: > Hi, > > as discussed in the PR 91109 audit trail, > my previous patch missed a case where no spilling is necessary, > but the re-materialized instruction has now scratch regs without > a hard register assignment. And thus the LRA pass falls out of > the

Re: [PATCH] [LRA] Fix wrong-code PR 91109

2019-08-09 Thread Jakub Jelinek
On Fri, Aug 09, 2019 at 10:31:57AM +, Bernd Edlinger wrote: > I think this wrong code bug would be good to be fixed in 9.2. > > Would you like me to go ahead, or should it wait for 9.3 ? Wait for 9.2.1 reopening, even if we'd roll another RC, I'd be afraid that for RA changes, especially ones

Re: [PATCH] [LRA] Fix wrong-code PR 91109

2019-08-09 Thread Bernd Edlinger
Hi Jakub, I think this wrong code bug would be good to be fixed in 9.2. Would you like me to go ahead, or should it wait for 9.3 ? Thanks Bernd. On 8/7/19 3:32 PM, Vladimir Makarov wrote: > On 8/5/19 4:37 PM, Bernd Edlinger wrote: >> Hi! >> >> >> PR 91109 is a wrong-code bug, where LRA is usin

Re: [PATCH] [LRA] Fix wrong-code PR 91109

2019-08-07 Thread Vladimir Makarov
On 8/5/19 4:37 PM, Bernd Edlinger wrote: Hi! PR 91109 is a wrong-code bug, where LRA is using a scratch register which is actually not available for use, and thus gets clobbered when it should not. That seems to be mostly because the live range info of the cloned schatch register is not workin