1*9880d681SAndroid Build Coastguard Worker; RUN: opt -S -early-cse < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; This test isn't directly related to EarlyCSE or varargs. It is just 4*9880d681SAndroid Build Coastguard Worker; using these as a vehicle for testing the correctness of 5*9880d681SAndroid Build Coastguard Worker; haveSameSpecialState around operand bundles. 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Workerdeclare i32 @foo(...) 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerdefine i32 @f() { 10*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @f( 11*9880d681SAndroid Build Coastguard Worker entry: 12*9880d681SAndroid Build Coastguard Worker; CHECK: %v0 = call i32 (...) @foo( 13*9880d681SAndroid Build Coastguard Worker; CHECK: %v1 = call i32 (...) @foo( 14*9880d681SAndroid Build Coastguard Worker; CHECK: %v = add i32 %v0, %v1 15*9880d681SAndroid Build Coastguard Worker; CHECK: ret i32 %v 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker %v0 = call i32 (...) @foo(i32 10) readonly [ "foo"(i32 20) ] 18*9880d681SAndroid Build Coastguard Worker %v1 = call i32 (...) @foo() readonly [ "foo"(i32 10, i32 20) ] 19*9880d681SAndroid Build Coastguard Worker %v = add i32 %v0, %v1 20*9880d681SAndroid Build Coastguard Worker ret i32 %v 21*9880d681SAndroid Build Coastguard Worker} 22