mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-13 14:35:54 +00:00
370e769899
Similarly to how splitting predecessors with an indirectbr isn't handled in the generic way, we also shouldn't split callbrs, for similar reasons.
19 lines
683 B
LLVM
19 lines
683 B
LLVM
; RUN: opt -licm -disable-output < %s
|
|
|
|
define i32 @j() {
|
|
entry:
|
|
br label %for.cond
|
|
|
|
for.cond: ; preds = %cond.true.i, %entry
|
|
callbr void asm sideeffect "", "X,~{dirflag},~{fpsr},~{flags}"(i8* blockaddress(@j, %for.end))
|
|
to label %cond.true.i [label %for.end]
|
|
|
|
cond.true.i: ; preds = %for.cond
|
|
%asmresult1.i.i = extractvalue { i8, i32 } zeroinitializer, 1
|
|
br i1 undef, label %for.end, label %for.cond
|
|
|
|
for.end: ; preds = %cond.true.i, %for.cond
|
|
%asmresult1.i.i2 = phi i32 [ %asmresult1.i.i, %cond.true.i ], [ undef, %for.cond ]
|
|
ret i32 undef
|
|
}
|