aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/ifcvt.c3
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5904c01..1e072f3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-01-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/42511
+ * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
+ note itself is not function_invariant_p.
+
2009-01-07 Steven Bosscher <steven@gcc.gnu.org>
* gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
@@ -84,7 +90,7 @@
and adjust call to legitimize_pic_address.
(sparc_output_mi_thunk): Likewise.
-2010-01-05 Paolo Bonzini <bonzinI@gnu.rg>
+2010-01-05 Paolo Bonzini <bonzini@gnu.rg>
H.J. Lu <hongjiu.lu@intel.com>
PR target/42542
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)));