1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 13:02:52 +02:00
llvm-mirror/test/CodeGen/X86/eh-label.ll
Rafael Espindola 1198708f0f Emit smaller exception tables for non-SJLJ mode.
* Use uleb128 for code offsets in the LSDA call site table.
* Omit the TTBase offset if the type table is empty.

This change can reduce the size of the DWARF/Itanium LSDA by about half.

Patch by Ryan Prichard!

llvm-svn: 324750
2018-02-09 17:13:37 +00:00

25 lines
520 B
LLVM

; RUN: llc < %s -mtriple=x86_64-pc-linux | FileCheck %s
; Test that we don't crashe if the .Lfunc_end0 name is taken.
declare void @g()
define void @f() personality i8* bitcast (void ()* @g to i8*) {
bb0:
call void asm ".Lfunc_end0:", ""()
; CHECK: #APP
; CHECK-NEXT: .Lfunc_end0:
; CHECK-NEXT: #NO_APP
invoke void @g() to label %bb2 unwind label %bb1
bb1:
landingpad { i8*, i32 }
catch i8* null
call void @g()
ret void
bb2:
ret void
; CHECK: [[END:.Lfunc_end.*]]:
; CHECK: .uleb128 [[END]]-
}