mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-28 19:25:00 +00:00
* 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
This commit is contained in:
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user