From 06ebe7b0d29222f9a512d248b25f938428cfa9a9 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Thu, 7 Jan 2010 18:31:43 +0100 Subject: [PATCH] re PR rtl-optimization/42511 (bootstrap error in stage3 on alpha-linux-gnu) * 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. From-SVN: r155698 --- gcc/ChangeLog | 8 ++++++++ gcc/ifcvt.c | 10 ++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f744def8910..c6a3ffcad0a0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2010-01-07 Uros Bizjak + + * 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. + 2010-01-05 Eric Botcazou PR target/42564 diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index 3085fa4d3ee2..f944fc97794b 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); -- 2.47.2