summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/phi.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-11-08 08:30:58 +0000
committerChris Lattner <sabre@nondot.org>2009-11-08 08:30:58 +0000
commit7c8b29ef61dd1315171d2ab887da1c278dbbfef0 (patch)
tree8d40296c1e83a2e4bbf15c2ca4994dc9b48b91d6 /llvm/test/Transforms/InstCombine/phi.ll
parentc7a450b5b28eb50009a35a208f93674b25f1dac6 (diff)
downloadbcm5719-llvm-7c8b29ef61dd1315171d2ab887da1c278dbbfef0.tar.gz
bcm5719-llvm-7c8b29ef61dd1315171d2ab887da1c278dbbfef0.zip
feature test for the new transformation in r86443
llvm-svn: 86444
Diffstat (limited to 'llvm/test/Transforms/InstCombine/phi.ll')
-rw-r--r--llvm/test/Transforms/InstCombine/phi.ll31
1 files changed, 30 insertions, 1 deletions
diff --git a/llvm/test/Transforms/InstCombine/phi.ll b/llvm/test/Transforms/InstCombine/phi.ll
index 23dec4a1b0e..23e41cab025 100644
--- a/llvm/test/Transforms/InstCombine/phi.ll
+++ b/llvm/test/Transforms/InstCombine/phi.ll
@@ -2,7 +2,7 @@
;
; RUN: opt < %s -instcombine -S | FileCheck %s
-target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
+target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128:n8:16:32:64"
define i32 @test1(i32 %A, i1 %b) {
BB0:
@@ -224,3 +224,32 @@ end:
; CHECK: ret i1 %z
}
+
+define i64 @test12(i1 %cond, i8* %Ptr, i64 %Val) {
+entry:
+ %tmp41 = ptrtoint i8* %Ptr to i64
+ %tmp42 = zext i64 %tmp41 to i128
+ br i1 %cond, label %end, label %two
+
+two:
+ %tmp36 = zext i64 %Val to i128 ; <i128> [#uses=1]
+ %tmp37 = shl i128 %tmp36, 64 ; <i128> [#uses=1]
+ %ins39 = or i128 %tmp42, %tmp37 ; <i128> [#uses=1]
+ br label %end
+
+end:
+ %tmp869.0 = phi i128 [ %tmp42, %entry ], [ %ins39, %two ]
+ %tmp32 = trunc i128 %tmp869.0 to i64 ; <i64> [#uses=1]
+ %tmp29 = lshr i128 %tmp869.0, 64 ; <i128> [#uses=1]
+ %tmp30 = trunc i128 %tmp29 to i64 ; <i64> [#uses=1]
+
+ %tmp2 = add i64 %tmp32, %tmp30
+ ret i64 %tmp2
+; CHECK: @test12
+; CHECK-NOT: zext
+; CHECK: end:
+; CHECK-NEXT: phi i64 [ 0, %entry ], [ %Val, %two ]
+; CHECK-NOT: phi
+; CHECK: ret i64
+}
+
OpenPOWER on IntegriCloud