[X86] Simplify some bitmasking and use llvm_unreachable to mark an impossible case...
[llvm-complete.git] / test / Transforms / ArgumentPromotion / control-flow.ll
blobc3fe0c00e877259ac4bcaa5b21a28c5749ef06a5
1 ; RUN: opt < %s -argpromotion -S | FileCheck %s
2 ; RUN: opt < %s -passes=argpromotion -S | FileCheck %s
4 ; Don't promote around control flow.
5 define internal i32 @callee(i1 %C, i32* %P) {
6 ; CHECK-LABEL: define internal i32 @callee(
7 ; CHECK: i1 %C, i32* %P)
8 entry:
9   br i1 %C, label %T, label %F
12   ret i32 17
15   %X = load i32, i32* %P
16   ret i32 %X
19 define i32 @foo() {
20 ; CHECK-LABEL: define i32 @foo(
21 entry:
22 ; CHECK-NOT: load i32, i32* null
23   %X = call i32 @callee(i1 true, i32* null)
24 ; CHECK: call i32 @callee(i1 true, i32* null)
25   ret i32 %X