aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2006-04-09 10:06:20 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2006-04-09 10:06:20 +0000
commitc3a50ca3a820618098bbcc991d5d3a38764933f0 (patch)
tree18d19f4755d3d6f1b26b39781fbe27a033d5f324 /gcc/gcse.c
parentfd18206b7250bc0e7bc8b92f084b1e15021c014f (diff)
downloadgcc-c3a50ca3a820618098bbcc991d5d3a38764933f0.zip
gcc-c3a50ca3a820618098bbcc991d5d3a38764933f0.tar.gz
gcc-c3a50ca3a820618098bbcc991d5d3a38764933f0.tar.bz2
re PR rtl-optimization/27073 (invalid gcse manipulation of REG_EQUIV notes)
PR rtl-optimization/27073 * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes, not REG_EQUIVs. gcc/testsuite/ * gcc.c-torture/execute/pr27073.c: New test. From-SVN: r112803
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c
index f0e25a2..0dbbe0b 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -2642,7 +2642,7 @@ find_used_regs (rtx *xptr, void *data ATTRIBUTE_UNUSED)
static int
try_replace_reg (rtx from, rtx to, rtx insn)
{
- rtx note = find_reg_equal_equiv_note (insn);
+ rtx note = find_reg_note (insn, REG_EQUAL, NULL);
rtx src = 0;
int success = 0;
rtx set = single_set (insn);