File nvl799300.patch of Package gcc43
commit 52989f2c2ff6f2398bd5c4a09b0b0604a3868ca6
Author: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu Jan 7 17:31:43 2010 +0000
* ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
PR target/42511
* ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
note itself is not function_invariant_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_3-branch@155698 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 3085fa4..f944fc9 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -4014,7 +4014,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)));
@@ -4092,7 +4093,12 @@ if_convert (void)
#ifdef IFCVT_MULTIPLE_DUMPS
if (dump_file && cond_exec_changed_p)
- print_rtl_with_bb (dump_file, get_insns ());
+ {
+ if (dump_flags & TDF_SLIM)
+ print_rtl_slim_with_bb (dump_file, get_insns (), dump_flags);
+ else
+ print_rtl_with_bb (dump_file, get_insns ());
+ }
#endif
}
while (cond_exec_changed_p);