; RUN: llc < %s -mtriple=i686-pc-linux | FileCheck %s ; Function Attrs: optsize declare void @foo(i32, i32) declare x86_stdcallcc void @stdfoo(i32, i32) ; CHECK-LABEL: testNoUnwind: ; CHECK: subl $20, %esp ; CHECK-NOT: subl $12, %esp ; CHECK-NOT: subl $8, %esp ; CHECK: calll foo ; CHECK: addl $8, %esp ; CHECK-NOT: addl $16, %esp ; CHECK-NOT: subl $8, %esp ; CHECK: calll stdfoo ; CHECK: addl $20, %esp ; CHECK-NOT: addl $8, %esp ; CHECK-NOT: addl $12, %esp define void @testNoUnwind() nounwind { entry: tail call void @foo(i32 1, i32 2) tail call x86_stdcallcc void @stdfoo(i32 3, i32 4) ret void } ; CHECK-LABEL: testWithUnwind: ; CHECK: subl $20, %esp ; CHECK-NEXT: .cfi_adjust_cfa_offset 20 ; CHECK-NOT: subl $12, %esp ; CHECK-NOT: subl $8, %esp ; CHECK: calll foo ; CHECK: addl $8, %esp ; CHECK-NEXT: .cfi_adjust_cfa_offset -8 ; CHECK-NOT: addl $16, %esp ; CHECK-NOT: subl $8, %esp ; CHECK: calll stdfoo ; CHECK: addl $20, %esp ; CHECK-NEXT: .cfi_adjust_cfa_offset -20 ; CHECK-NOT: addl $8, %esp ; CHECK-NOT: addl $12, %esp define void @testWithUnwind() { entry: tail call void @foo(i32 1, i32 2) tail call x86_stdcallcc void @stdfoo(i32 3, i32 4) ret void }