summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LowerExpectIntrinsic/basic.ll
diff options
context:
space:
mode:
authorXinliang David Li <davidxl@google.com>2016-09-02 22:03:40 +0000
committerXinliang David Li <davidxl@google.com>2016-09-02 22:03:40 +0000
commit40afd5c9e4ad48df50a71091754e5e167b300cb9 (patch)
treee7e9f1cf8f32d53038449effb723cc5c7ed5f69a /llvm/test/Transforms/LowerExpectIntrinsic/basic.ll
parenteaeafb2b4ff8015dbad2bd4f3d06b9b8672856cb (diff)
downloadbcm5719-llvm-40afd5c9e4ad48df50a71091754e5e167b300cb9.tar.gz
bcm5719-llvm-40afd5c9e4ad48df50a71091754e5e167b300cb9.zip
[Profile] handle select instruction in 'expect' lowering
Builtin expect lowering currently ignores select. This patch fixes the issue Differential Revision: http://reviews.llvm.org/D24166 llvm-svn: 280547
Diffstat (limited to 'llvm/test/Transforms/LowerExpectIntrinsic/basic.ll')
-rw-r--r--llvm/test/Transforms/LowerExpectIntrinsic/basic.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LowerExpectIntrinsic/basic.ll b/llvm/test/Transforms/LowerExpectIntrinsic/basic.ll
index 562db86cefd..d1335e834ce 100644
--- a/llvm/test/Transforms/LowerExpectIntrinsic/basic.ll
+++ b/llvm/test/Transforms/LowerExpectIntrinsic/basic.ll
@@ -273,6 +273,16 @@ return: ; preds = %if.end, %if.then
ret i32 %0
}
+; CHECK-LABEL: @test10(
+define i32 @test10(i64 %t6) {
+ %t7 = call i64 @llvm.expect.i64(i64 %t6, i64 0)
+ %t8 = icmp ne i64 %t7, 0
+ %t9 = select i1 %t8, i32 1, i32 2
+; CHECK: select{{.*}}, !prof !1
+ ret i32 %t9
+}
+
+
declare i1 @llvm.expect.i1(i1, i1) nounwind readnone
; CHECK: !0 = !{!"branch_weights", i32 2000, i32 1}
OpenPOWER on IntegriCloud