llvm.org GIT mirror llvm / 40a7557
* Add a constant pool to hold per-function constants which must be spilled to memory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5208 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 17 years ago
1 changed file(s) with 11 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
2020 class SSARegMap;
2121 class MachineFunctionInfo;
2222 class MachineFrameInfo;
23 class MachineConstantPool;
2324
24 Pass *createMachineCodeConstructionPass(TargetMachine &Target);
25 Pass *createMachineCodeConstructionPass(TargetMachine &TM);
2526 Pass *createMachineCodeDestructionPass();
2627 Pass *createMachineFunctionPrinterPass();
2728
4142 // Keep track of objects allocated on the stack.
4243 MachineFrameInfo *FrameInfo;
4344
45 // Keep track of constants which are spilled to memory
46 MachineConstantPool *ConstantPool;
47
4448 public:
45 MachineFunction(const Function *Fn, const TargetMachine& target);
49 MachineFunction(const Function *Fn, const TargetMachine &TM);
4650 ~MachineFunction();
4751
4852 /// getFunction - Return the LLVM function that this machine code represents
6468 /// frame of the current function in an abstract way.
6569 ///
6670 MachineFrameInfo *getFrameInfo() const { return FrameInfo; }
71
72 /// getConstantPool - Return the constant pool object for the current
73 /// function.
74 MachineConstantPool *getConstantPool() const { return ConstantPool; }
6775
6876 /// MachineFunctionInfo - Keep track of various per-function pieces of
6977 /// information for the sparc backend.
8997 // for a given Method.
9098 // destruct() -- Destroy the MachineFunction object
9199 //
92 static MachineFunction& construct(const Function *Fn,
93 const TargetMachine &target);
100 static MachineFunction& construct(const Function *F, const TargetMachine &TM);
94101 static void destruct(const Function *F);
95102 static MachineFunction& get(const Function *F);
96103