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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75519 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman
2009-07-13 21:51:15 +00:00
parent 92aa0bb4ca
commit c8d76d5afb
6 changed files with 126 additions and 94 deletions

View File

@ -36,10 +36,9 @@ class CallSite;
class Trace;
class CallGraph;
class TargetData;
class Loop;
class LoopInfo;
class LLVMContext;
template<class N> class LoopBase;
typedef LoopBase<BasicBlock> Loop;
/// CloneModule - Return an exact copy of the specified module
///