diff options
author | Dan Gohman <gohman@apple.com> | 2009-07-13 21:51:15 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-07-13 21:51:15 +0000 |
commit | cc85ae132c24c04e0e78c1435a54f68eb7091baf (patch) | |
tree | 5a10216f63918d28e76bbecd687311451ce66d88 /llvm/lib | |
parent | 9ab53d2b173f664cd352eead6321572a9d6d4c83 (diff) | |
download | bcm5719-llvm-cc85ae132c24c04e0e78c1435a54f68eb7091baf.tar.gz bcm5719-llvm-cc85ae132c24c04e0e78c1435a54f68eb7091baf.zip |
Make Loop and MachineLoop be subclasses of LoopBase, rather than typedefs,
using the Curiously Recurring Template Pattern with LoopBase.
This will help further refactoring, and future functionality for
Loop. Also, Headers can now foward-declare Loop, instead of pulling
in LoopInfo.h or doing tricks.
llvm-svn: 75519
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Analysis/IVUsers.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/CodeGen/MachineLoopInfo.cpp | 8 | ||||
-rw-r--r-- | llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/llvm/lib/Analysis/IVUsers.cpp b/llvm/lib/Analysis/IVUsers.cpp index 317c8691640..9ad7cc9e5d4 100644 --- a/llvm/lib/Analysis/IVUsers.cpp +++ b/llvm/lib/Analysis/IVUsers.cpp @@ -54,7 +54,7 @@ static bool containsAddRecFromDifferentLoop(const SCEV *S, Loop *L) { if (newLoop == L) return false; // if newLoop is an outer loop of L, this is OK. - if (!LoopInfoBase<BasicBlock>::isNotAlreadyContainedIn(L, newLoop)) + if (!LoopInfo::isNotAlreadyContainedIn(L, newLoop)) return false; } return true; diff --git a/llvm/lib/CodeGen/MachineLoopInfo.cpp b/llvm/lib/CodeGen/MachineLoopInfo.cpp index ff56f4de590..a5694ae82b0 100644 --- a/llvm/lib/CodeGen/MachineLoopInfo.cpp +++ b/llvm/lib/CodeGen/MachineLoopInfo.cpp @@ -19,8 +19,12 @@ #include "llvm/CodeGen/Passes.h" using namespace llvm; -TEMPLATE_INSTANTIATION(class LoopBase<MachineBasicBlock>); -TEMPLATE_INSTANTIATION(class LoopInfoBase<MachineBasicBlock>); +#define MLB class LoopBase<MachineBasicBlock, MachineLoop> +TEMPLATE_INSTANTIATION(MLB); +#undef MLB +#define MLIB class LoopInfoBase<MachineBasicBlock, MachineLoop> +TEMPLATE_INSTANTIATION(MLIB); +#undef MLIB char MachineLoopInfo::ID = 0; static RegisterPass<MachineLoopInfo> diff --git a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp index 454cc93d31b..a1781c98584 100644 --- a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp +++ b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp @@ -248,7 +248,7 @@ static bool containsAddRecFromDifferentLoop(const SCEV *S, Loop *L) { if (newLoop == L) return false; // if newLoop is an outer loop of L, this is OK. - if (!LoopInfoBase<BasicBlock>::isNotAlreadyContainedIn(L, newLoop)) + if (!LoopInfo::isNotAlreadyContainedIn(L, newLoop)) return false; } return true; |