Merge pull request #2950 from trentxintong/SCM

Remove last bit of retain release code motion in SILCodeMotion.
This commit is contained in:
Xin Tong
2016-06-08 13:41:20 -07:00
8 changed files with 96 additions and 722 deletions

View File

@@ -115,6 +115,9 @@ SILBasicBlock *splitBasicBlockAndBranch(SILBuilder &B,
SILInstruction *SplitBeforeInst,
DominanceInfo *DT, SILLoopInfo *LI);
/// \brief Return true if the function has a critical edge, false otherwise.
bool hasCriticalEdges(SILFunction &F, bool OnlyNonCondBr);
/// \brief Split all critical edges in the function updating the dominator tree
/// and loop information (if they are not set to null). If \p OnlyNonCondBr is
/// true this will not split cond_br edges (Only edges which can't carry