blob: a7ff5022a2fa12ece974d779554a798eb1d4c306 [file] [log] [blame] [edit]
; RUN: llc -march=hexagon -mcpu=hexagonv73 -debug < %s
; This test used to ICE with "[MIisDualJumpCandidate] To BB(0) From BB(1)".
;REQUIRES: asserts
target datalayout = "e-m:e-p:32:32-i1:32-i64:64-a:0-v32:32-n16:32"
target triple = "hexagon-unknown--elf"
define void @main(i1 %cond) personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
entry:
br label %for.body.ur.i.i
for.body.ur.i.i: ; preds = %for.body.ur.i.i, %entry
br i1 %cond, label %for.inc26.6, label %for.body.ur.i.i
invoke.cont: ; preds = %for.inc26.6
%call.i.i.i.i174 = invoke noalias i8* @_Znwj()
to label %_ZNSt6vectorIlSaIlEE12_Construct_nEjRKl.exit unwind label %lpad
lpad: ; preds = %for.inc26.6, %invoke.cont
%0 = landingpad { i8*, i32 }
cleanup
resume { i8*, i32 } %0
_ZNSt6vectorIlSaIlEE12_Construct_nEjRKl.exit: ; preds = %invoke.cont
%incdec.ptr.i.ur.i.1 = getelementptr inbounds i8, i8* %call.i.i.i.i174, i32 36
call void @llvm.memset.p0i8.i64(i8* %call.i.i.i.i174, i8 0, i64 36, i32 4, i1 false)
call void @llvm.memset.p0i8.i64(i8* %incdec.ptr.i.ur.i.1, i8 0, i64 32, i32 4, i1 false)
unreachable
for.inc26.6: ; preds = %for.body.ur.i.i
invoke void @_ZNSt6vectorIlSaIlEE7_InsertIPlEEvSt16_Vector_iteratorIlS0_ET_S6_St20forward_iterator_tag()
to label %invoke.cont unwind label %lpad
}
declare i32 @__gxx_personality_v0(...)
declare noalias i8* @_Znwj()
declare void @_ZNSt6vectorIlSaIlEE7_InsertIPlEEvSt16_Vector_iteratorIlS0_ET_S6_St20forward_iterator_tag() align 2
declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1)