49 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=m68k < %s | FileCheck %s3 4; (Copied from test/CodeGen/X86/gcc_except_table.ll)5; Testing whether exception pointer register (d0) and exception selector6; register (d1) are correctly used by landing and EH pad, respectively.7@_ZTIi = external constant ptr8 9define i32 @foo() uwtable ssp personality ptr @__gxx_personality_v0 {10; CHECK-LABEL: foo:11; CHECK: .Lfunc_begin0:12; CHECK-NEXT: .cfi_startproc13; CHECK-NEXT: .cfi_personality 0, __gxx_personality_v014; CHECK-NEXT: .cfi_lsda 0, .Lexception015; CHECK-NEXT: ; %bb.0: ; %entry16; CHECK-NEXT: suba.l #4, %sp17; CHECK-NEXT: .cfi_def_cfa_offset -818; CHECK-NEXT: .Ltmp0:19; CHECK-NEXT: jsr _Z1fv20; CHECK-NEXT: .Ltmp1:21; CHECK-NEXT: ; %bb.1: ; %try.cont22; CHECK-NEXT: moveq #0, %d023; CHECK-NEXT: adda.l #4, %sp24; CHECK-NEXT: rts25; CHECK-NEXT: .LBB0_2: ; %lpad26; CHECK-NEXT: .Ltmp2:27; CHECK-NEXT: move.l %d0, (%sp)28; CHECK-NEXT: jsr _Unwind_Resume29entry:30 invoke void @_Z1fv() optsize31 to label %try.cont unwind label %lpad32 33lpad:34 %0 = landingpad { ptr, i32 }35 cleanup36 catch ptr @_ZTIi37 br label %eh.resume38 39try.cont:40 ret i32 041 42eh.resume:43 resume { ptr, i32 } %044}45 46declare void @_Z1fv() optsize47 48declare i32 @__gxx_personality_v0(...)49