#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineDominators.h"
-
+#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>
X("machine-loops", "Machine Natural Loop Construction", true);
+const PassInfo *const llvm::MachineLoopInfoID = &X;
+
bool MachineLoopInfo::runOnMachineFunction(MachineFunction &) {
releaseMemory();
- LI->Calculate(getAnalysis<MachineDominatorTree>().getBase()); // Update
+ LI.Calculate(getAnalysis<MachineDominatorTree>().getBase()); // Update
return false;
}
AU.setPreservesAll();
AU.addRequired<MachineDominatorTree>();
}
-
-// Ensure this file gets linked when MachineLoopInfo.h is used.
-DEFINING_FILE_FOR(MachineLoopInfo)