mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-04 03:06:28 +00:00
Update dom tree. Fix PR 2372.
llvm-svn: 51887
This commit is contained in:
parent
626f8e4454
commit
b1798d2be0
@ -569,7 +569,6 @@ void LoopUnswitch::EmitPreheaderBranchOnCondition(Value *LIC, Constant *Val,
|
||||
|
||||
// Insert the new branch.
|
||||
BranchInst::Create(TrueDest, FalseDest, BranchVal, InsertPt);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -607,6 +606,10 @@ void LoopUnswitch::UnswitchTrivialCondition(Loop *L, Value *Cond,
|
||||
// insert the new conditional branch.
|
||||
EmitPreheaderBranchOnCondition(Cond, Val, NewExit, NewPH,
|
||||
OrigPH->getTerminator());
|
||||
if (DT) {
|
||||
DT->changeImmediateDominator(NewExit, OrigPH);
|
||||
DT->changeImmediateDominator(NewPH, OrigPH);
|
||||
}
|
||||
LPM->deleteSimpleAnalysisValue(OrigPH->getTerminator(), L);
|
||||
OrigPH->getTerminator()->eraseFromParent();
|
||||
|
||||
|
26
test/Transforms/LoopUnswitch/2008-06-02-DomInfo.ll
Normal file
26
test/Transforms/LoopUnswitch/2008-06-02-DomInfo.ll
Normal file
@ -0,0 +1,26 @@
|
||||
; RUN: llvm-as < %s | opt -loop-unswitch -instcombine -gvn -disable-output
|
||||
; PR2372
|
||||
target triple = "i386-pc-linux-gnu"
|
||||
|
||||
define i32 @func_3(i16 signext %p_5, i16 signext %p_6) nounwind {
|
||||
entry:
|
||||
%tmp3 = icmp eq i16 %p_5, 0 ; <i1> [#uses=1]
|
||||
%tmp1314 = sext i16 %p_6 to i32 ; <i32> [#uses=1]
|
||||
%tmp28 = icmp ugt i32 %tmp1314, 3 ; <i1> [#uses=1]
|
||||
%bothcond = or i1 %tmp28, false ; <i1> [#uses=1]
|
||||
br label %bb
|
||||
bb: ; preds = %bb54, %entry
|
||||
br i1 %tmp3, label %bb54, label %bb5
|
||||
bb5: ; preds = %bb
|
||||
br i1 %bothcond, label %bb54, label %bb31
|
||||
bb31: ; preds = %bb5
|
||||
br label %bb54
|
||||
bb54: ; preds = %bb31, %bb5, %bb
|
||||
br i1 false, label %bb64, label %bb
|
||||
bb64: ; preds = %bb54
|
||||
%tmp6566 = sext i16 %p_6 to i32 ; <i32> [#uses=1]
|
||||
%tmp68 = tail call i32 (...)* @func_18( i32 1, i32 %tmp6566, i32 1 ) nounwind ; <i32> [#uses=0]
|
||||
ret i32 undef
|
||||
}
|
||||
|
||||
declare i32 @func_18(...)
|
Loading…
x
Reference in New Issue
Block a user