New testcase: the phi can be eliminated if the casts are sucked into it.
authorChris Lattner <sabre@nondot.org>
Sun, 14 Nov 2004 19:12:17 +0000 (19:12 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 14 Nov 2004 19:12:17 +0000 (19:12 +0000)
Note that this reduces code size anyway (as well as making further
optimizations simpler) so it's always a win.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17739 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/phi.ll

index a15d341e3b67abdc58d78a2881ac32106c24d333..830c44f624b549e4abb287701c518ee6ad226528 100644 (file)
@@ -53,3 +53,15 @@ Exit:
         ret int %B
 }
 
+uint %test6(int %A, bool %b) {
+BB0:
+        %X = cast int %A to uint
+        br bool %b, label %BB1, label %BB2
+BB1:
+        %Y = cast int %A to uint
+        br label %BB2
+BB2:
+        %B = phi uint [%X, %BB0], [%Y, %BB1] ;; Suck casts into phi
+        ret uint %B
+}
+