diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/LICM.cpp | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/llvm/lib/Transforms/Scalar/LICM.cpp b/llvm/lib/Transforms/Scalar/LICM.cpp index 0edba8fc993..29c7a881a7c 100644 --- a/llvm/lib/Transforms/Scalar/LICM.cpp +++ b/llvm/lib/Transforms/Scalar/LICM.cpp @@ -412,14 +412,7 @@ bool llvm::sinkRegion(DomTreeNode *N, AliasAnalysis *AA, LoopInfo *LI, // bool FreeInLoop = false; if (isNotUsedOrFreeInLoop(I, CurLoop, SafetyInfo, TTI, FreeInLoop) && - canSinkOrHoistInst(I, AA, DT, CurLoop, CurAST, true, ORE) && - // FIXME: Remove the special casing here. Why do we need the - // execution check at all? We're sinking from a dominating location - // to a dominated location. - (isa<LoadInst>(I) || isa<CallInst>(I) || - // TODO: Plumb the context instruction through to make sinking - // more powerful. - isSafeToExecuteUnconditionally(I, DT, CurLoop, SafetyInfo, ORE))) { + canSinkOrHoistInst(I, AA, DT, CurLoop, CurAST, true, ORE)) { if (sink(I, LI, DT, CurLoop, SafetyInfo, ORE, FreeInLoop)) { if (!FreeInLoop) { ++II; |

