diff options
author | Chris Lattner <sabre@nondot.org> | 2004-04-18 22:46:08 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-04-18 22:46:08 +0000 |
commit | 3280f7bd557250a448eb56edbddfc90c94a406e6 (patch) | |
tree | e52dfeada95f9e56199f70e1796f0eef3332816a /lib | |
parent | 85661d0978dbbe678bc51f4e470149cb58f680f8 (diff) | |
download | external_llvm-3280f7bd557250a448eb56edbddfc90c94a406e6.zip external_llvm-3280f7bd557250a448eb56edbddfc90c94a406e6.tar.gz external_llvm-3280f7bd557250a448eb56edbddfc90c94a406e6.tar.bz2 |
Move isLoopInvariant to the Loop class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13051 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Transforms/Scalar/LICM.cpp | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/lib/Transforms/Scalar/LICM.cpp b/lib/Transforms/Scalar/LICM.cpp index a02b66b..13d8a53 100644 --- a/lib/Transforms/Scalar/LICM.cpp +++ b/lib/Transforms/Scalar/LICM.cpp @@ -176,14 +176,6 @@ namespace { return CurAST->getAliasSetForPointer(V, 0).isMod(); } - /// isLoopInvariant - Return true if the specified value is loop invariant - /// - inline bool isLoopInvariant(Value *V) { - if (Instruction *I = dyn_cast<Instruction>(V)) - return !CurLoop->contains(I->getParent()); - return true; // All non-instructions are loop invariant - } - bool canSinkOrHoistInst(Instruction &I); bool isLoopInvariantInst(Instruction &I); bool isNotUsedInLoop(Instruction &I); @@ -421,7 +413,7 @@ bool LICM::isNotUsedInLoop(Instruction &I) { bool LICM::isLoopInvariantInst(Instruction &I) { // The instruction is loop invariant if all of its operands are loop-invariant for (unsigned i = 0, e = I.getNumOperands(); i != e; ++i) - if (!isLoopInvariant(I.getOperand(i))) + if (!CurLoop->isLoopInvariant(I.getOperand(i))) return false; // If we got this far, the instruction is loop invariant! @@ -714,7 +706,7 @@ void LICM::findPromotableValuesInLoop( // set, if the pointer is loop invariant, if if we are not eliminating any // volatile loads or stores. if (!AS.isForwardingAliasSet() && AS.isMod() && AS.isMustAlias() && - !AS.isVolatile() && isLoopInvariant(AS.begin()->first)) { + !AS.isVolatile() && CurLoop->isLoopInvariant(AS.begin()->first)) { assert(AS.begin() != AS.end() && "Must alias set should have at least one pointer element in it!"); Value *V = AS.begin()->first; |