mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-26 22:26:16 +00:00
5e5974f51a
CurrentCallSite to avoid an assertion failure: assert(MMI.getCurrentCallSite() == 0 && "Overlapping call sites!"); rdar://problem/13228754 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176154 91177308-0d34-0410-b5e6-96231b3b80d8
41 lines
1015 B
LLVM
41 lines
1015 B
LLVM
; RUN: llc < %s -mtriple=armv7-apple-ios | FileCheck %s
|
|
; This testcase makes sure we can handle invoke @llvm.donothing without
|
|
; assertion failure.
|
|
; rdar://problem/13228754
|
|
; CHECK: .globl _main
|
|
|
|
declare void @callA()
|
|
declare i32 @__gxx_personality_sj0(...)
|
|
|
|
define void @main() {
|
|
invoke.cont:
|
|
invoke void @callA()
|
|
to label %invoke.cont25 unwind label %lpad2
|
|
invoke.cont25:
|
|
invoke void @llvm.donothing()
|
|
to label %invoke.cont27 unwind label %lpad15
|
|
|
|
invoke.cont27:
|
|
invoke void @callB()
|
|
to label %invoke.cont75 unwind label %lpad15
|
|
|
|
invoke.cont75:
|
|
ret void
|
|
|
|
lpad2:
|
|
%0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
|
|
cleanup
|
|
br label %eh.resume
|
|
|
|
lpad15:
|
|
%1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*)
|
|
cleanup
|
|
br label %eh.resume
|
|
|
|
eh.resume:
|
|
resume { i8*, i32 } zeroinitializer
|
|
}
|
|
|
|
declare void @callB()
|
|
declare void @llvm.donothing() nounwind readnone
|