FunctionLiveVarInfo.h moved: include/llvm/CodeGen -> lib/Target/Sparc/LiveVar
authorBrian Gaeke <gaeke@uiuc.edu>
Tue, 24 Feb 2004 19:46:00 +0000 (19:46 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Tue, 24 Feb 2004 19:46:00 +0000 (19:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11804 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/FunctionLiveVarInfo.h [deleted file]
lib/CodeGen/InstrSched/InstrScheduling.cpp
lib/CodeGen/InstrSched/SchedPriorities.cpp
lib/Target/SparcV9/InstrSched/InstrScheduling.cpp
lib/Target/SparcV9/InstrSched/SchedPriorities.cpp
lib/Target/SparcV9/LiveVar/BBLiveVar.cpp
lib/Target/SparcV9/LiveVar/FunctionLiveVarInfo.cpp
lib/Target/SparcV9/LiveVar/FunctionLiveVarInfo.h [new file with mode: 0644]
lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp

diff --git a/include/llvm/CodeGen/FunctionLiveVarInfo.h b/include/llvm/CodeGen/FunctionLiveVarInfo.h
deleted file mode 100644 (file)
index 23a9d93..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-//===-- CodeGen/FunctionLiveVarInfo.h - LiveVar Analysis --------*- C++ -*-===//
-// 
-//                     The LLVM Compiler Infrastructure
-//
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
-// 
-//===----------------------------------------------------------------------===//
-//
-// This is the interface for live variable info of a function that is required 
-// by any other part of the compiler
-//
-// After the analysis, getInSetOfBB or getOutSetofBB can be called to get 
-// live var info of a BB.
-//
-// The live var set before an instruction can be obtained in 2 ways:
-//
-// 1. Use the method getLiveVarSetAfterInst(Instruction *) to get the LV Info 
-//    just after an instruction. (also exists getLiveVarSetBeforeInst(..))
-//
-//    This function caluclates the LV info for a BB only once and caches that 
-//    info. If the cache does not contain the LV info of the instruction, it 
-//    calculates the LV info for the whole BB and caches them.
-//
-//    Getting liveVar info this way uses more memory since, LV info should be 
-//    cached. However, if you need LV info of nearly all the instructions of a
-//    BB, this is the best and simplest interfrace.
-//
-// 2. Use the OutSet and applyTranferFuncForInst(const Instruction *const Inst) 
-//    declared in LiveVarSet and  traverse the instructions of a basic block in 
-//    reverse (using const_reverse_iterator in the BB class). 
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef FUNCTION_LIVE_VAR_INFO_H
-#define FUNCTION_LIVE_VAR_INFO_H
-
-#include "Support/hash_map"
-#include "llvm/Pass.h"
-#include "llvm/CodeGen/ValueSet.h"
-
-namespace llvm {
-
-class BBLiveVar;
-class MachineInstr;
-
-class FunctionLiveVarInfo : public FunctionPass {
-  // Machine Instr to LiveVarSet Map for providing LVset BEFORE each inst
-  // These sets are owned by this map and will be freed in releaseMemory().
-  hash_map<const MachineInstr *, ValueSet *> MInst2LVSetBI; 
-
-  // Machine Instr to LiveVarSet Map for providing LVset AFTER each inst.
-  // These sets are just pointers to sets in MInst2LVSetBI or BBLiveVar.
-  hash_map<const MachineInstr *, ValueSet *> MInst2LVSetAI;
-
-  hash_map<const BasicBlock*, BBLiveVar*> BBLiveVarInfo;
-
-  // Stored Function that the data is computed with respect to
-  const Function *M;
-
-  // --------- private methods -----------------------------------------
-
-  // constructs BBLiveVars and init Def and In sets
-  void constructBBs(const Function *F);
-    
-  // do one backward pass over the CFG
-  bool doSingleBackwardPass(const Function *F, unsigned int iter); 
-
-  // calculates live var sets for instructions in a BB
-  void calcLiveVarSetsForBB(const BasicBlock *BB);
-  
-public:
-  // --------- Implement the FunctionPass interface ----------------------
-
-  // runOnFunction - Perform analysis, update internal data structures.
-  virtual bool runOnFunction(Function &F);
-
-  // releaseMemory - After LiveVariable analysis has been used, forget!
-  virtual void releaseMemory();
-
-  // getAnalysisUsage - Provide self!
-  virtual void getAnalysisUsage(AnalysisUsage &AU) const {
-    AU.setPreservesAll();
-  }
-
-  // --------- Functions to access analysis results -------------------
-
-  // get OutSet of a BB
-  const ValueSet &getOutSetOfBB(const BasicBlock *BB) const;
-        ValueSet &getOutSetOfBB(const BasicBlock *BB)      ;
-
-  // get InSet of a BB
-  const ValueSet &getInSetOfBB(const BasicBlock *BB) const;
-        ValueSet &getInSetOfBB(const BasicBlock *BB)      ;
-
-  // gets the Live var set BEFORE an instruction.
-  // if BB is specified and the live var set has not yet been computed,
-  // it will be computed on demand.
-  const ValueSet &getLiveVarSetBeforeMInst(const MachineInstr *MI,
-                                           const BasicBlock *BB = 0);
-
-  // gets the Live var set AFTER an instruction
-  // if BB is specified and the live var set has not yet been computed,
-  // it will be computed on demand.
-  const ValueSet &getLiveVarSetAfterMInst(const MachineInstr *MI,
-                                          const BasicBlock *BB = 0);
-};
-
-} // End llvm namespace
-
-#endif
index 403243224720ceff569d989cf636386ba91585aa..4fad07eae8fdc00142c47ed3816c1baf9b9dfd60 100644 (file)
@@ -16,7 +16,7 @@
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/CodeGen/MachineCodeForInstruction.h"
 #include "llvm/CodeGen/MachineFunction.h"
-#include "llvm/CodeGen/FunctionLiveVarInfo.h"
+#include "../../Target/Sparc/LiveVar/FunctionLiveVarInfo.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/BasicBlock.h"
 #include "Support/CommandLine.h"
index b5bc38e8a073a386227876336d74a3e8315f6506..aab44346358c43eca0f5383599c20d2a787a40b0 100644 (file)
@@ -18,7 +18,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "SchedPriorities.h"
-#include "llvm/CodeGen/FunctionLiveVarInfo.h"
+#include "../../Target/Sparc/LiveVar/FunctionLiveVarInfo.h"
 #include "llvm/CodeGen/MachineBasicBlock.h"
 #include "llvm/Support/CFG.h"
 #include "Support/PostOrderIterator.h"
index 403243224720ceff569d989cf636386ba91585aa..4fad07eae8fdc00142c47ed3816c1baf9b9dfd60 100644 (file)
@@ -16,7 +16,7 @@
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/CodeGen/MachineCodeForInstruction.h"
 #include "llvm/CodeGen/MachineFunction.h"
-#include "llvm/CodeGen/FunctionLiveVarInfo.h"
+#include "../../Target/Sparc/LiveVar/FunctionLiveVarInfo.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/BasicBlock.h"
 #include "Support/CommandLine.h"
index b5bc38e8a073a386227876336d74a3e8315f6506..aab44346358c43eca0f5383599c20d2a787a40b0 100644 (file)
@@ -18,7 +18,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "SchedPriorities.h"
-#include "llvm/CodeGen/FunctionLiveVarInfo.h"
+#include "../../Target/Sparc/LiveVar/FunctionLiveVarInfo.h"
 #include "llvm/CodeGen/MachineBasicBlock.h"
 #include "llvm/Support/CFG.h"
 #include "Support/PostOrderIterator.h"
index e3515e8bdbe16575dbcf67c8464ade88676f0b64..9f9aaf5ddef0886e3ef36be2c8b819db32265132 100644 (file)
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "BBLiveVar.h"
-#include "llvm/CodeGen/FunctionLiveVarInfo.h"
+#include "FunctionLiveVarInfo.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/CodeGen/MachineBasicBlock.h"
 #include "llvm/Support/CFG.h"
index e2822c300e894570c33e1b10d4a5da9c2ba6afb1..9d5492371a7a71880c370c709fe6280fbaf0c998 100644 (file)
@@ -12,7 +12,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/CodeGen/FunctionLiveVarInfo.h"
+#include "FunctionLiveVarInfo.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/CodeGen/MachineFunction.h"
 #include "llvm/Target/TargetMachine.h"
diff --git a/lib/Target/SparcV9/LiveVar/FunctionLiveVarInfo.h b/lib/Target/SparcV9/LiveVar/FunctionLiveVarInfo.h
new file mode 100644 (file)
index 0000000..23a9d93
--- /dev/null
@@ -0,0 +1,111 @@
+//===-- CodeGen/FunctionLiveVarInfo.h - LiveVar Analysis --------*- C++ -*-===//
+// 
+//                     The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// 
+//===----------------------------------------------------------------------===//
+//
+// This is the interface for live variable info of a function that is required 
+// by any other part of the compiler
+//
+// After the analysis, getInSetOfBB or getOutSetofBB can be called to get 
+// live var info of a BB.
+//
+// The live var set before an instruction can be obtained in 2 ways:
+//
+// 1. Use the method getLiveVarSetAfterInst(Instruction *) to get the LV Info 
+//    just after an instruction. (also exists getLiveVarSetBeforeInst(..))
+//
+//    This function caluclates the LV info for a BB only once and caches that 
+//    info. If the cache does not contain the LV info of the instruction, it 
+//    calculates the LV info for the whole BB and caches them.
+//
+//    Getting liveVar info this way uses more memory since, LV info should be 
+//    cached. However, if you need LV info of nearly all the instructions of a
+//    BB, this is the best and simplest interfrace.
+//
+// 2. Use the OutSet and applyTranferFuncForInst(const Instruction *const Inst) 
+//    declared in LiveVarSet and  traverse the instructions of a basic block in 
+//    reverse (using const_reverse_iterator in the BB class). 
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef FUNCTION_LIVE_VAR_INFO_H
+#define FUNCTION_LIVE_VAR_INFO_H
+
+#include "Support/hash_map"
+#include "llvm/Pass.h"
+#include "llvm/CodeGen/ValueSet.h"
+
+namespace llvm {
+
+class BBLiveVar;
+class MachineInstr;
+
+class FunctionLiveVarInfo : public FunctionPass {
+  // Machine Instr to LiveVarSet Map for providing LVset BEFORE each inst
+  // These sets are owned by this map and will be freed in releaseMemory().
+  hash_map<const MachineInstr *, ValueSet *> MInst2LVSetBI; 
+
+  // Machine Instr to LiveVarSet Map for providing LVset AFTER each inst.
+  // These sets are just pointers to sets in MInst2LVSetBI or BBLiveVar.
+  hash_map<const MachineInstr *, ValueSet *> MInst2LVSetAI;
+
+  hash_map<const BasicBlock*, BBLiveVar*> BBLiveVarInfo;
+
+  // Stored Function that the data is computed with respect to
+  const Function *M;
+
+  // --------- private methods -----------------------------------------
+
+  // constructs BBLiveVars and init Def and In sets
+  void constructBBs(const Function *F);
+    
+  // do one backward pass over the CFG
+  bool doSingleBackwardPass(const Function *F, unsigned int iter); 
+
+  // calculates live var sets for instructions in a BB
+  void calcLiveVarSetsForBB(const BasicBlock *BB);
+  
+public:
+  // --------- Implement the FunctionPass interface ----------------------
+
+  // runOnFunction - Perform analysis, update internal data structures.
+  virtual bool runOnFunction(Function &F);
+
+  // releaseMemory - After LiveVariable analysis has been used, forget!
+  virtual void releaseMemory();
+
+  // getAnalysisUsage - Provide self!
+  virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+    AU.setPreservesAll();
+  }
+
+  // --------- Functions to access analysis results -------------------
+
+  // get OutSet of a BB
+  const ValueSet &getOutSetOfBB(const BasicBlock *BB) const;
+        ValueSet &getOutSetOfBB(const BasicBlock *BB)      ;
+
+  // get InSet of a BB
+  const ValueSet &getInSetOfBB(const BasicBlock *BB) const;
+        ValueSet &getInSetOfBB(const BasicBlock *BB)      ;
+
+  // gets the Live var set BEFORE an instruction.
+  // if BB is specified and the live var set has not yet been computed,
+  // it will be computed on demand.
+  const ValueSet &getLiveVarSetBeforeMInst(const MachineInstr *MI,
+                                           const BasicBlock *BB = 0);
+
+  // gets the Live var set AFTER an instruction
+  // if BB is specified and the live var set has not yet been computed,
+  // it will be computed on demand.
+  const ValueSet &getLiveVarSetAfterMInst(const MachineInstr *MI,
+                                          const BasicBlock *BB = 0);
+};
+
+} // End llvm namespace
+
+#endif
index a33d5c9366e56758953036ad208e4c60168cd5cb..7b224119cef99a54db0c58bfd4f8d83ec576b856 100644 (file)
 #include "PhyRegAlloc.h"
 #include "RegAllocCommon.h"
 #include "RegClass.h"
+#include "../LiveVar/FunctionLiveVarInfo.h"
 #include "llvm/Constants.h"
 #include "llvm/DerivedTypes.h"
 #include "llvm/iOther.h"
 #include "llvm/Module.h"
 #include "llvm/Type.h"
 #include "llvm/Analysis/LoopInfo.h"
-#include "llvm/CodeGen/FunctionLiveVarInfo.h"
 #include "llvm/CodeGen/InstrSelection.h"
 #include "llvm/CodeGen/MachineCodeForInstruction.h"
 #include "llvm/CodeGen/MachineFunction.h"