Re: [PR103302] skip multi-word pre-move clobber during lra

2022-03-02 Thread Vladimir Makarov via Gcc-patches
On 2022-03-02 07:25, Alexandre Oliva wrote: Regstrapped on x86_64-linux-gnu, also tested on various riscv and arm targets (with gcc-11). Ok to install? Yes. Thank you on working this, Alex. for gcc/ChangeLog * lra-constraints.cc (undo_optional_reloads): Recognize and drop

Re: [PR103302] skip multi-word pre-move clobber during lra

2022-03-02 Thread Alexandre Oliva via Gcc-patches
On Mar 1, 2022, Alexandre Oliva wrote: > On Feb 23, 2022, Alexandre Oliva wrote: >> On Feb 21, 2022, Richard Biener wrote: Ok to revert commit r12-5852-g50e8b0c9bca6cdc57804f860ec5311b641753fbb >>> OK. Please re-open the bug as appropriate. >> Thanks. I've reopened it. Here's what I'

Re: [PR103302] skip multi-word pre-move clobber during lra

2022-03-01 Thread Alexandre Oliva via Gcc-patches
On Feb 23, 2022, Alexandre Oliva wrote: > On Feb 21, 2022, Richard Biener wrote: >>> Ok to revert commit r12-5852-g50e8b0c9bca6cdc57804f860ec5311b641753fbb >> OK. Please re-open the bug as appropriate. > Thanks. I've reopened it. Here's what I'm installing. I'm not > reverting the testcase

Re: [PR103302] skip multi-word pre-move clobber during lra

2022-02-23 Thread Alexandre Oliva via Gcc-patches
On Feb 21, 2022, Richard Biener wrote: >> Ok to revert commit r12-5852-g50e8b0c9bca6cdc57804f860ec5311b641753fbb > OK. Please re-open the bug as appropriate. Thanks. I've reopened it. Here's what I'm installing. I'm not reverting the testcase, since it stopped failing even before the patch

Re: [PR103302] skip multi-word pre-move clobber during lra

2022-02-20 Thread Richard Biener via Gcc-patches
On Sat, Feb 19, 2022 at 12:28 AM Alexandre Oliva via Gcc-patches wrote: > > On Dec 15, 2021, Jeff Law wrote: > > >> * expr.c (emit_move_complex_parts): Skip clobbers during lra. > > OK for the next cycle. > > Thanks, but having looked into PR 104121, I withdraw this patch and also > the already-i

Re: [PR103302] skip multi-word pre-move clobber during lra

2022-02-18 Thread Alexandre Oliva via Gcc-patches
On Dec 15, 2021, Jeff Law wrote: >> * expr.c (emit_move_complex_parts): Skip clobbers during lra. > OK for the next cycle. Thanks, but having looked into PR 104121, I withdraw this patch and also the already-installed patch for PR 103302. As I found out, LRA does worse without the clobbers for

Re: [PR103302] skip multi-word pre-move clobber during lra

2021-12-15 Thread Jeff Law via Gcc-patches
On 12/15/2021 1:22 AM, Alexandre Oliva wrote: On Dec 9, 2021, Jeff Law wrote: I found a similar pattern of issuing clobbers for multi-word moves, but not when reload_in_progress, in expr.c:emit_move_complex_parts. I don't have a testcase, but I'm tempted to propose '!lra_in_progress &&' f

Re: [PR103302] skip multi-word pre-move clobber during lra

2021-12-15 Thread Alexandre Oliva via Gcc-patches
On Dec 9, 2021, Jeff Law wrote: >> I found a similar pattern of issuing clobbers for multi-word moves, but >> not when reload_in_progress, in expr.c:emit_move_complex_parts. I don't >> have a testcase, but I'm tempted to propose '!lra_in_progress &&' for it >> as well. Can you think of any rea

Re: [PR103302] skip multi-word pre-move clobber during lra

2021-12-08 Thread Jeff Law via Gcc-patches
On 12/8/2021 9:08 PM, Alexandre Oliva wrote: On Dec 8, 2021, Jeff Law wrote: expr.c (emit_move_multi_word): Skip clobber during lra. OK. I found a similar pattern of issuing clobbers for multi-word moves, but not when reload_in_progress, in expr.c:emit_move_complex_parts. I don't have a

Re: [PR103302] skip multi-word pre-move clobber during lra

2021-12-08 Thread Alexandre Oliva via Gcc-patches
On Dec 8, 2021, Jeff Law wrote: >> expr.c (emit_move_multi_word): Skip clobber during lra. > OK. I found a similar pattern of issuing clobbers for multi-word moves, but not when reload_in_progress, in expr.c:emit_move_complex_parts. I don't have a testcase, but I'm tempted to propose '!lra_in

Re: [PR103302] skip multi-word pre-move clobber during lra

2021-12-08 Thread Alexandre Oliva via Gcc-patches
I'm installing momentarily. [PR103302] skip multi-word pre-move clobber during lra If we emit clobbers before multi-word moves during lra, we get confused if a copy ends up with input or output replaced with each other: the clobber then kills the previous set, and it gets deleted. This patch av

Re: [PR103302] skip multi-word pre-move clobber during lra

2021-12-08 Thread Jeff Law via Gcc-patches
On 12/7/2021 10:37 PM, Alexandre Oliva via Gcc-patches wrote: If we emit clobbers before multi-word moves during lra, we get confused if a copy ends up with input or output replaced with each other: the clobber then kills the previous set, and it gets deleted. This patch avoids emitting such

[PR103302] skip multi-word pre-move clobber during lra

2021-12-07 Thread Alexandre Oliva via Gcc-patches
If we emit clobbers before multi-word moves during lra, we get confused if a copy ends up with input or output replaced with each other: the clobber then kills the previous set, and it gets deleted. This patch avoids emitting such clobbers when lra_in_progress. Regstrapped on x86_64-linux-gnu.