[llvm-commits] [llvm] r40650 - in /llvm/trunk: lib/Transforms/Scalar/GVN.cpp test/Transforms/GVN/2007-07-31-RedundantPhi.ll

Owen Anderson resistor at mac.com
Tue Jul 31 13:18:28 PDT 2007


Author: resistor
Date: Tue Jul 31 15:18:28 2007
New Revision: 40650

URL: http://llvm.org/viewvc/llvm-project?rev=40650&view=rev
Log:
Fix a failure I accidentally caused in my last commit by mishandling the 
removal of redundant phis.

Added:
    llvm/trunk/test/Transforms/GVN/2007-07-31-RedundantPhi.ll
Modified:
    llvm/trunk/lib/Transforms/Scalar/GVN.cpp

Modified: llvm/trunk/lib/Transforms/Scalar/GVN.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/GVN.cpp?rev=40650&r1=40649&r2=40650&view=diff

==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/GVN.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/GVN.cpp Tue Jul 31 15:18:28 2007
@@ -747,6 +747,8 @@
     PN->replaceAllUsesWith(first);
     PN->eraseFromParent();
     
+    Phis[BB] = first;
+    
     return first;
   }
 

Added: llvm/trunk/test/Transforms/GVN/2007-07-31-RedundantPhi.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GVN/2007-07-31-RedundantPhi.ll?rev=40650&view=auto

==============================================================================
--- llvm/trunk/test/Transforms/GVN/2007-07-31-RedundantPhi.ll (added)
+++ llvm/trunk/test/Transforms/GVN/2007-07-31-RedundantPhi.ll Tue Jul 31 15:18:28 2007
@@ -0,0 +1,22 @@
+; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep {tmp701 =}
+
+ at img_width = external global i16		; <i16*> [#uses=2]
+
+define i32 @smpUMHEXBipredIntegerPelBlockMotionSearch(i16* %cur_pic, i16 signext  %ref, i32 %list, i32 %pic_pix_x, i32 %pic_pix_y, i32 %blocktype, i16 signext  %pred_mv_x1, i16 signext  %pred_mv_y1, i16 signext  %pred_mv_x2, i16 signext  %pred_mv_y2, i16* %mv_x, i16* %mv_y, i16* %s_mv_x, i16* %s_mv_y, i32 %search_range, i32 %min_mcost, i32 %lambda_factor) {
+cond_next143:		; preds = %entry
+	store i16 0, i16* @img_width, align 2
+	br i1 false, label %cond_next449, label %cond_false434
+
+cond_false434:		; preds = %cond_true415
+	br label %cond_next449
+
+cond_next449:		; preds = %cond_false434, %cond_true415
+	br i1 false, label %cond_next698, label %cond_false470
+
+cond_false470:		; preds = %cond_next449
+	br label %cond_next698
+
+cond_next698:		; preds = %cond_true492
+	%tmp701 = load i16* @img_width, align 2		; <i16> [#uses=0]
+	ret i32 0
+}





More information about the llvm-commits mailing list