Sanjoy Das | 2de4d0a | 2015-12-14 19:11:35 +0000 | [diff] [blame] | 1 | ; RUN: opt -S -early-cse < %s | FileCheck %s |
| 2 | |
| 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. |
| 6 | |
| 7 | declare i32 @foo(...) |
| 8 | |
| 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 |
| 16 | |
| 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 |
| 21 | } |