]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR rtl-optimization/42511 (bootstrap error in stage3 on alpha-linux-gnu)
authorUros Bizjak <ubizjak@gmail.com>
Thu, 7 Jan 2010 17:31:43 +0000 (18:31 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Thu, 7 Jan 2010 17:31:43 +0000 (18:31 +0100)
* 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
gcc/ifcvt.c

index 8f744def891096d5900ab8732178a1fbc138fe86..c6a3ffcad0a02e68c49970e195eb7ebb5d3ff3f7 100644 (file)
@@ -1,3 +1,11 @@
+2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       * 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  <ebotcazou@adacore.com>
 
        PR target/42564
index 3085fa4d3ee2e4795b890901562dd60a70940378..f944fc97794bf23d407f15a9641f5ce083946211 100644 (file)
@@ -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);