aboutsummaryrefslogtreecommitdiff
path: root/gcc/ifcvt.c
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2010-01-07 14:02:34 +0100
committerUros Bizjak <uros@gcc.gnu.org>2010-01-07 14:02:34 +0100
commit4b9ed9aae8ab67aff8f4335ba39693818007383c (patch)
tree9b29696c9df15c0f4a427a1ef859d3433ade5ff2 /gcc/ifcvt.c
parentf50f5566c6d6cdc74e02c83963b4e92114b4cd5b (diff)
downloadgcc-4b9ed9aae8ab67aff8f4335ba39693818007383c.zip
gcc-4b9ed9aae8ab67aff8f4335ba39693818007383c.tar.gz
gcc-4b9ed9aae8ab67aff8f4335ba39693818007383c.tar.bz2
re PR rtl-optimization/42511 (bootstrap error in stage3 on alpha-linux-gnu)
PR target/42511 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when note itself is not function_invariant_p. From-SVN: r155691
Diffstat (limited to 'gcc/ifcvt.c')
-rw-r--r--gcc/ifcvt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 00ac61ec..c30b8049 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -4087,7 +4087,8 @@ dead_or_predicable (basic_block test_bb, basic_block merge_bb,
if (! note)
continue;
set = single_set (insn);
- if (!set || !function_invariant_p (SET_SRC (set)))
+ if (!set || !function_invariant_p (SET_SRC (set))
+ || !function_invariant_p (XEXP (note, 0)))
remove_note (insn, note);
} while (insn != end && (insn = NEXT_INSN (insn)));