* Add a constant pool to hold per-function constants which must be spilled to memory
authorChris Lattner <sabre@nondot.org>
Mon, 13 Jan 2003 00:16:10 +0000 (00:16 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 13 Jan 2003 00:16:10 +0000 (00:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5208 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/MachineFunction.h

index 602307ea9d0dc33e4a39a510d435480987249764..56452f10483bd5456c460ca3bf59acedc890223a 100644 (file)
@@ -21,8 +21,9 @@ class Pass;
 class SSARegMap;
 class MachineFunctionInfo;
 class MachineFrameInfo;
+class MachineConstantPool;
 
-Pass *createMachineCodeConstructionPass(TargetMachine &Target);
+Pass *createMachineCodeConstructionPass(TargetMachine &TM);
 Pass *createMachineCodeDestructionPass();
 Pass *createMachineFunctionPrinterPass();
 
@@ -42,8 +43,11 @@ class MachineFunction : private Annotation {
   // Keep track of objects allocated on the stack.
   MachineFrameInfo *FrameInfo;
 
+  // Keep track of constants which are spilled to memory
+  MachineConstantPool *ConstantPool;
+
 public:
-  MachineFunction(const Function *Fn, const TargetMachine& target);
+  MachineFunction(const Function *Fn, const TargetMachine &TM);
   ~MachineFunction();
 
   /// getFunction - Return the LLVM function that this machine code represents
@@ -66,6 +70,10 @@ public:
   ///
   MachineFrameInfo *getFrameInfo() const { return FrameInfo; }
 
+  /// getConstantPool - Return the constant pool object for the current
+  /// function.
+  MachineConstantPool *getConstantPool() const { return ConstantPool; }
+
   /// MachineFunctionInfo - Keep track of various per-function pieces of
   /// information for the sparc backend.
   ///
@@ -90,8 +98,7 @@ public:
   //                for a given Method.
   // destruct()  -- Destroy the MachineFunction object
   // 
-  static MachineFunction& construct(const Function *Fn,
-                                    const TargetMachine &target);
+  static MachineFunction& construct(const Function *F, const TargetMachine &TM);
   static void destruct(const Function *F);
   static MachineFunction& get(const Function *F);