Unbreak build on gcc 3.x
[oota-llvm.git] / include / llvm / CodeGen / MachineLoopInfo.h
index 41eae51b6b79bd998170e1b0dbb7f266495e94da..166fc6b30f124fc6190be87d3e9df9727f24381a 100644 (file)
 namespace llvm {
 
 // Provide overrides for Loop methods that don't make sense for machine loops.
-template<>
+template<> inline
 PHINode *LoopBase<MachineBasicBlock>::getCanonicalInductionVariable() const {
   assert(0 && "getCanonicalInductionVariable not supported for machine loops!");
   return 0;
 }
 
-template<>
-Instruction*
+template<> inline Instruction*
 LoopBase<MachineBasicBlock>::getCanonicalInductionVariableIncrement() const {
   assert(0 &&
      "getCanonicalInductionVariableIncrement not supported for machine loops!");
@@ -54,26 +53,23 @@ LoopBase<MachineBasicBlock>::getCanonicalInductionVariableIncrement() const {
 }
 
 template<>
-bool LoopBase<MachineBasicBlock>::isLoopInvariant(Value *V) const {
+inline bool LoopBase<MachineBasicBlock>::isLoopInvariant(Value *V) const {
   assert(0 && "isLoopInvariant not supported for machine loops!");
   return false;
 }
 
 template<>
-Value *LoopBase<MachineBasicBlock>::getTripCount() const {
+inline Value *LoopBase<MachineBasicBlock>::getTripCount() const {
   assert(0 && "getTripCount not supported for machine loops!");
   return 0;
 }
 
 template<>
-bool LoopBase<MachineBasicBlock>::isLCSSAForm() const {
+inline bool LoopBase<MachineBasicBlock>::isLCSSAForm() const {
   assert(0 && "isLCSSAForm not supported for machine loops");
   return false;
 }
 
-EXTERN_TEMPLATE_INSTANTIATION(class LoopBase<MachineBasicBlock>);
-EXTERN_TEMPLATE_INSTANTIATION(class LoopInfoBase<MachineBasicBlock>);
-
 typedef LoopBase<MachineBasicBlock> MachineLoop;
 
 class MachineLoopInfo : public MachineFunctionPass {
@@ -124,15 +120,9 @@ public:
   /// runOnFunction - Calculate the natural loop information.
   ///
   virtual bool runOnMachineFunction(MachineFunction &F);
-  
-  bool runOnFunction(Function& F) { return false; }
 
   virtual void releaseMemory() { LI->releaseMemory(); }
 
-  virtual void print(std::ostream &O, const Module* M = 0) const {
-    if (O) LI->print(O, M);
-  }
-
   virtual void getAnalysisUsage(AnalysisUsage &AU) const;
 
   /// removeLoop - This removes the specified top-level loop from this loop info
@@ -200,4 +190,4 @@ template <> struct GraphTraits<MachineLoop*> {
 // Make sure that any clients of this file link in LoopInfo.cpp
 FORCE_DEFINING_FILE_TO_BE_LINKED(MachineLoopInfo)
 
-#endif
\ No newline at end of file
+#endif