diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2010-01-07 14:02:34 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2010-01-07 14:02:34 +0100 |
commit | 4b9ed9aae8ab67aff8f4335ba39693818007383c (patch) | |
tree | 9b29696c9df15c0f4a427a1ef859d3433ade5ff2 /gcc/ifcvt.c | |
parent | f50f5566c6d6cdc74e02c83963b4e92114b4cd5b (diff) | |
download | gcc-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.c | 3 |
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))); |