From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2140) id AFF243858410; Wed, 15 Dec 2021 06:06:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AFF243858410 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Alexandre Oliva To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/aoliva/heads/testme)] [PR103302] skip multi-part clobber during lra for complex parts too X-Act-Checkin: gcc X-Git-Author: Alexandre Oliva X-Git-Refname: refs/users/aoliva/heads/testme X-Git-Oldrev: 71cc9b8c39148d19a8043b74ca8b6b4e8b8072ca X-Git-Newrev: 5b5e92ea5eb9f4ced3908499519dada053f62f6c Message-Id: <20211215060604.AFF243858410@sourceware.org> Date: Wed, 15 Dec 2021 06:06:04 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Dec 2021 06:06:04 -0000 https://gcc.gnu.org/g:5b5e92ea5eb9f4ced3908499519dada053f62f6c commit 5b5e92ea5eb9f4ced3908499519dada053f62f6c Author: Alexandre Oliva Date: Wed Dec 15 03:00:57 2021 -0300 [PR103302] skip multi-part clobber during lra for complex parts too As with the earlier patch, avoid emitting clobbers that we used to avoid during reload also during LRA, now when moving complex multi-part values. We don't have a testcase for this one. for gcc/ChangeLog PR target/103302 * expr.c (emit_move_complex_parts): Skip clobbers during lra. Diff: --- gcc/expr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/expr.c b/gcc/expr.c index 0365625e7b8..30d1735ec29 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -3736,7 +3736,7 @@ emit_move_complex_parts (rtx x, rtx y) /* Show the output dies here. This is necessary for SUBREGs of pseudos since we cannot track their lifetimes correctly; hard regs shouldn't appear here except as return values. */ - if (!reload_completed && !reload_in_progress + if (!reload_completed && !reload_in_progress && !lra_in_progress && REG_P (x) && !reg_overlap_mentioned_p (x, y)) emit_clobber (x);