brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · be873c3 Raw
57 lines · plain
1; RUN: llc < %s | FileCheck %s2 3target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"4target triple = "x86_64-unknown-linux-gnu"5 6@.str.2 = private unnamed_addr constant [7 x i8] c"Boom!\0A\00", align 17 8define dso_local void @trap() {9entry:10  unreachable11}12 13define dso_local void @test() personality ptr @__gxx_personality_v0 {14entry:15 16; CHECK-LABEL: .Ltmp0:17; CHECK: callq  trap18; CHECK-LABEL: .Ltmp1:19 20  invoke void asm sideeffect unwind "call trap", "~{dirflag},~{fpsr},~{flags}"()21          to label %invoke.cont unwind label %lpad22 23invoke.cont:24  ret void25 26lpad:27  %0 = landingpad { ptr, i32 }28          cleanup29; CHECK: callq  printf30  call void (ptr, ...) @printf(ptr @.str.2)31  resume { ptr, i32 } %032 33}34 35declare dso_local i32 @__gxx_personality_v0(...)36 37declare dso_local void @printf(ptr, ...)38 39; Exception table generation around the inline assembly40 41; CHECK-LABEL: GCC_except_table1:42; CHECK-NEXT: .Lexception0:43; CHECK-NEXT:  .byte 255                             # @LPStart Encoding = omit44; CHECK-NEXT:  .byte 255                             # @TType Encoding = omit45; CHECK-NEXT:  .byte 1                               # Call site Encoding = uleb12846; CHECK-NEXT:  .uleb128 .Lcst_end0-.Lcst_begin047; CHECK-NEXT: .Lcst_begin0:48; CHECK-NEXT:  .uleb128 .Ltmp0-.Lfunc_begin0           # >> Call Site 1 <<49; CHECK-NEXT:  .uleb128 .Ltmp1-.Ltmp0                  #   Call between .Ltmp0 and .Ltmp150; CHECK-NEXT:  .uleb128 .Ltmp2-.Lfunc_begin0           #     jumps to .Ltmp251; CHECK-NEXT:  .byte 0                                 #   On action: cleanup52; CHECK-NEXT:  .uleb128 .Ltmp1-.Lfunc_begin0           # >> Call Site 2 <<53; CHECK-NEXT:  .uleb128 .Lfunc_end1-.Ltmp1             #   Call between .Ltmp1 and .Lfunc_end154; CHECK-NEXT:  .byte 0                                 #     has no landing pad55; CHECK-NEXT:  .byte 0                                 #   On action: cleanup56; CHECK-NEXT: .Lcst_end0:57