aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir N. Makarov <vmakarov@redhat.com>2023-10-27 14:50:40 -0400
committerVladimir N. Makarov <vmakarov@redhat.com>2023-10-27 15:12:29 -0400
commit4d3d2cdb574488223d023b590c3a34ddd93f4dae (patch)
tree73437beb0f7b99bcfe9f9ed618c6f0874ef3186e
parent92fcbe8a323faee4c0fc571560f1a32317c4b26a (diff)
downloadgcc-4d3d2cdb574488223d023b590c3a34ddd93f4dae.zip
gcc-4d3d2cdb574488223d023b590c3a34ddd93f4dae.tar.gz
gcc-4d3d2cdb574488223d023b590c3a34ddd93f4dae.tar.bz2
[RA]: Fixing i686 bootstrap failure because of pushing the equivalence patch
GCC with my recent patch improving cost calculation for pseudos with equivalence may generate different code with and without debug info and as the result i686 bootstrap fails on i686. The patch fixes this bug. gcc/ChangeLog: PR rtl-optimization/112107 * ira-costs.cc: (calculate_equiv_gains): Use NONDEBUG_INSN_P instead of INSN_P.
-rw-r--r--gcc/ira-costs.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ira-costs.cc b/gcc/ira-costs.cc
index c408680..50f8077 100644
--- a/gcc/ira-costs.cc
+++ b/gcc/ira-costs.cc
@@ -1871,7 +1871,8 @@ calculate_equiv_gains (void)
= ira_bb_nodes[bb->index].parent->regno_allocno_map;
FOR_BB_INSNS (bb, insn)
{
- if (!INSN_P (insn) || !get_equiv_regno (PATTERN (insn), regno, subreg)
+ if (!NONDEBUG_INSN_P (insn)
+ || !get_equiv_regno (PATTERN (insn), regno, subreg)
|| !bitmap_bit_p (&equiv_pseudos, regno))
continue;
rtx subst = ira_reg_equiv[regno].memory;