Make Loop and MachineLoop be subclasses of LoopBase, rather than typedefs,
authorDan Gohman <gohman@apple.com>
Mon, 13 Jul 2009 21:51:15 +0000 (21:51 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 13 Jul 2009 21:51:15 +0000 (21:51 +0000)
commitc8d76d5afb023a1c6b439941be3b62789fcc0ed3
tree0ff6a38e33cf421026ea0232d6c47ed6f27d554d
parent92aa0bb4cab8dec9df4c51b414b5861953752a32
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
include/llvm/Analysis/LoopInfo.h
include/llvm/CodeGen/MachineLoopInfo.h
include/llvm/Transforms/Utils/Cloning.h
lib/Analysis/IVUsers.cpp
lib/CodeGen/MachineLoopInfo.cpp
lib/Transforms/Scalar/LoopStrengthReduce.cpp