[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / Transforms / IPConstantProp / remove-call-inst.ll
blob943086ab466cb8790b11ddb54b67f086e0f96924
1 ; RUN: opt < %s -S -ipsccp | FileCheck %s
2 ; PR5596
4 ; IPSCCP should propagate the 0 argument, eliminate the switch, and propagate
5 ; the result.
7 ; CHECK: define i32 @main() #0 {
8 ; CHECK-NEXT: entry:
9 ; CHECK-NOT: call
10 ; CHECK-NEXT: ret i32 123
12 define i32 @main() noreturn nounwind {
13 entry:
14   %call2 = tail call i32 @wwrite(i64 0) nounwind
15   ret i32 %call2
18 define internal i32 @wwrite(i64 %i) nounwind readnone {
19 entry:
20   switch i64 %i, label %sw.default [
21     i64 3, label %return
22     i64 10, label %return
23   ]
25 sw.default:
26   ret i32 123
28 return:
29   ret i32 0
32 ; CHECK: attributes #0 = { noreturn nounwind }
33 ; CHECK: attributes #1 = { nounwind readnone }