48 lines · plain
1; RUN: llc < %s -mtriple=i686-pc-linux | FileCheck %s2 3 4; Function Attrs: optsize5declare void @foo(i32, i32)6declare x86_stdcallcc void @stdfoo(i32, i32)7 8; CHECK-LABEL: testNoUnwind:9; CHECK: subl $20, %esp10; CHECK-NOT: subl $12, %esp11; CHECK-NOT: subl $8, %esp12; CHECK: calll foo13; CHECK: addl $8, %esp14; CHECK-NOT: addl $16, %esp15; CHECK-NOT: subl $8, %esp16; CHECK: calll stdfoo17; CHECK: addl $20, %esp18; CHECK-NOT: addl $8, %esp19; CHECK-NOT: addl $12, %esp20define void @testNoUnwind() nounwind {21entry:22 tail call void @foo(i32 1, i32 2)23 tail call x86_stdcallcc void @stdfoo(i32 3, i32 4)24 ret void25}26 27; CHECK-LABEL: testWithUnwind:28; CHECK: subl $20, %esp29; CHECK-NEXT: .cfi_adjust_cfa_offset 2030; CHECK-NOT: subl $12, %esp31; CHECK-NOT: subl $8, %esp32; CHECK: calll foo33; CHECK: addl $8, %esp34; CHECK-NEXT: .cfi_adjust_cfa_offset -835; CHECK-NOT: addl $16, %esp36; CHECK-NOT: subl $8, %esp37; CHECK: calll stdfoo38; CHECK: addl $20, %esp39; CHECK-NEXT: .cfi_adjust_cfa_offset -2040; CHECK-NOT: addl $8, %esp41; CHECK-NOT: addl $12, %esp42define void @testWithUnwind() {43entry:44 tail call void @foo(i32 1, i32 2)45 tail call x86_stdcallcc void @stdfoo(i32 3, i32 4)46 ret void47}48