gn build: Merge r374476
[llvm-complete.git] / test / Feature / OperandBundles / special-state.ll
blob56e337cc16b37dff56059705b13b263a8702079e
1 ; RUN: opt -S -early-cse < %s | FileCheck %s
3 ; This test isn't directly related to EarlyCSE or varargs.  It is just
4 ; using these as a vehicle for testing the correctness of
5 ; haveSameSpecialState around operand bundles.
7 declare i32 @foo(...)
9 define i32 @f() {
10 ; CHECK-LABEL: @f(
11  entry:
12 ; CHECK: %v0 = call i32 (...) @foo(
13 ; CHECK: %v1 = call i32 (...) @foo(
14 ; CHECK: %v = add i32 %v0, %v1
15 ; CHECK: ret i32 %v
17   %v0 = call i32 (...) @foo(i32 10) readonly [ "foo"(i32 20) ]
18   %v1 = call i32 (...) @foo() readonly [ "foo"(i32 10, i32 20) ]
19   %v = add i32 %v0, %v1
20   ret i32 %v