OSDN Git Service

2010-03-31 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
[pf3gnuchains/gcc-fork.git] / gcc / ifcvt.c
index 9efd27d..c30b804 100644 (file)
@@ -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)));
 
@@ -4165,7 +4166,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);