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);
openSUSE Build Service is sponsored by