1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -instcombine -S | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-p:32:32" 4*9880d681SAndroid Build Coastguard Workertarget triple = "i686-pc-linux-gnu" 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdeclare void @takes_i32(i32) 7*9880d681SAndroid Build Coastguard Workerdeclare void @takes_i32_inalloca(i32* inalloca) 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerdefine void @f() { 10*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: define void @f() 11*9880d681SAndroid Build Coastguard Worker %args = alloca inalloca i32 12*9880d681SAndroid Build Coastguard Worker call void bitcast (void (i32)* @takes_i32 to void (i32*)*)(i32* inalloca %args) 13*9880d681SAndroid Build Coastguard Worker; CHECK: call void bitcast 14*9880d681SAndroid Build Coastguard Worker ret void 15*9880d681SAndroid Build Coastguard Worker} 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Workerdefine void @g() { 18*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: define void @g() 19*9880d681SAndroid Build Coastguard Worker call void bitcast (void (i32*)* @takes_i32_inalloca to void (i32)*)(i32 0) 20*9880d681SAndroid Build Coastguard Worker; CHECK: call void bitcast 21*9880d681SAndroid Build Coastguard Worker ret void 22*9880d681SAndroid Build Coastguard Worker} 23