diff options
Diffstat (limited to 'llvm/lib/CodeGen/MachineSink.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineSink.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/MachineSink.cpp b/llvm/lib/CodeGen/MachineSink.cpp index 8409c95..d782c8b 100644 --- a/llvm/lib/CodeGen/MachineSink.cpp +++ b/llvm/lib/CodeGen/MachineSink.cpp @@ -961,7 +961,7 @@ bool MachineSinking::isLegalToBreakCriticalEdge(MachineInstr &MI, MachineBasicBlock *ToBB, bool BreakPHIEdge) { // Avoid breaking back edge. From == To means backedge for single BB cycle. - if (!SplitEdges || FromBB == ToBB) + if (!SplitEdges || FromBB == ToBB || !FromBB->isSuccessor(ToBB)) return false; MachineCycle *FromCycle = CI->getCycle(FromBB); |