llvm-6502/test/CodeGen/X86/eh-label.ll
Rafael Espindola 150233c378 Centralize handling of the eh_begin and eh_end labels.
This removes a bit of duplicated code and more importantly, remembers the
labels so that they don't need to be looked up by name.

This in turn allows for any name to be used and avoids a crash if the name
we wanted was already taken.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230772 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-27 18:18:39 +00:00

25 lines
529 B
LLVM

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