1*9880d681SAndroid Build Coastguard Worker; RUN: opt %s -argpromotion -S -o - | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; PR14710 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker%pair = type { i32, i32 } 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdeclare i8* @foo(%pair*) 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Workerdefine internal void @bar(%pair* byval %Data) { 11*9880d681SAndroid Build Coastguard Worker; CHECK: define internal void @bar(i32 %Data.0, i32 %Data.1) 12*9880d681SAndroid Build Coastguard Worker; CHECK: %Data = alloca %pair 13*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: tail 14*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @foo(%pair* %Data) 15*9880d681SAndroid Build Coastguard Worker tail call i8* @foo(%pair* %Data) 16*9880d681SAndroid Build Coastguard Worker ret void 17*9880d681SAndroid Build Coastguard Worker} 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerdefine void @zed(%pair* byval %Data) { 20*9880d681SAndroid Build Coastguard Worker call void @bar(%pair* byval %Data) 21*9880d681SAndroid Build Coastguard Worker ret void 22*9880d681SAndroid Build Coastguard Worker} 23