1 ; RUN: llc < %s -march=x86 -tailcallopt=false | FileCheck %s 2 3 %struct.foo = type { [4 x i32] } 4 5 define fastcc void @bar(%struct.foo* noalias sret %agg.result) nounwind { 6 entry: 7 %tmp1 = getelementptr %struct.foo, %struct.foo* %agg.result, i32 0, i32 0 8 %tmp3 = getelementptr [4 x i32], [4 x i32]* %tmp1, i32 0, i32 0 9 store i32 1, i32* %tmp3, align 8 10 ret void 11 } 12 ; CHECK: bar 13 ; CHECK: ret{{[^4]*$}} 14 15 @dst = external global i32 16 17 define void @foo() nounwind { 18 %memtmp = alloca %struct.foo, align 4 19 call fastcc void @bar( %struct.foo* sret %memtmp ) nounwind 20 %tmp4 = getelementptr %struct.foo, %struct.foo* %memtmp, i32 0, i32 0 21 %tmp5 = getelementptr [4 x i32], [4 x i32]* %tmp4, i32 0, i32 0 22 %tmp6 = load i32, i32* %tmp5 23 store i32 %tmp6, i32* @dst 24 ret void 25 } 26 ; CHECK: foo 27 ; CHECK: ret{{[^4]*$}} 28