diff options
author | Xinliang David Li <davidxl@google.com> | 2016-09-02 22:03:40 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@google.com> | 2016-09-02 22:03:40 +0000 |
commit | 40afd5c9e4ad48df50a71091754e5e167b300cb9 (patch) | |
tree | e7e9f1cf8f32d53038449effb723cc5c7ed5f69a /llvm/test/Transforms/LowerExpectIntrinsic/basic.ll | |
parent | eaeafb2b4ff8015dbad2bd4f3d06b9b8672856cb (diff) | |
download | bcm5719-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.ll | 10 |
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} |