From: Vladimir N. Makarov Date: Wed, 26 Feb 2025 16:28:08 +0000 (-0500) Subject: [PR119021][LRA]: Fix rtl correctness check failure in LRA. X-Git-Tag: basepoints/gcc-16~1837 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7ce3a8e872d945d537a7e7ba1bd3f45b1cf9a6d2;p=thirdparty%2Fgcc.git [PR119021][LRA]: Fix rtl correctness check failure in LRA. Patch to fix PR115458 contained a code change in dealing with asm errors to avoid cycling in reporting the error for asm gotos. This code was wrong and resulted in checking RTL correctness failure. This patch reverts the code change and solves cycling in asm error reporting in a different way. gcc/ChangeLog: PR middle-end/119021 * lra.cc (lra_asm_insn_error): Use lra_invalidate_insn_data instead of lra_update_insn_regno_info. * lra-assigns.cc (lra_split_hard_reg_for): Restore old code. --- diff --git a/gcc/lra-assigns.cc b/gcc/lra-assigns.cc index 480925ad894..46f9c9d20e2 100644 --- a/gcc/lra-assigns.cc +++ b/gcc/lra-assigns.cc @@ -1856,11 +1856,6 @@ lra_split_hard_reg_for (bool fail_p) { asm_p = true; lra_asm_insn_error (insn); - if (JUMP_P (insn)) - ira_nullify_asm_goto (insn); - else - PATTERN (insn) = gen_rtx_USE (VOIDmode, const0_rtx); - lra_invalidate_insn_data (insn); } else if (!asm_p) { diff --git a/gcc/lra.cc b/gcc/lra.cc index b753729d43d..8f30284e9da 100644 --- a/gcc/lra.cc +++ b/gcc/lra.cc @@ -549,7 +549,7 @@ lra_asm_insn_error (rtx_insn *insn) if (JUMP_P (insn)) { ira_nullify_asm_goto (insn); - lra_update_insn_regno_info (insn); + lra_invalidate_insn_data (insn); } else {