mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-20 10:24:12 +00:00
Manage MachineFunctions with an analysis Pass instead of the Annotable
mechanism. To support this, make MachineFunctionPass a little more complete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77654 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -67,7 +67,7 @@ struct MachineFunctionInfo {
|
||||
};
|
||||
|
||||
class MachineFunction : private Annotation {
|
||||
const Function *Fn;
|
||||
Function *Fn;
|
||||
const TargetMachine &Target;
|
||||
|
||||
// RegInfo - Information about each register in use in the function.
|
||||
@ -115,12 +115,12 @@ class MachineFunction : private Annotation {
|
||||
unsigned Alignment;
|
||||
|
||||
public:
|
||||
MachineFunction(const Function *Fn, const TargetMachine &TM);
|
||||
MachineFunction(Function *Fn, const TargetMachine &TM);
|
||||
~MachineFunction();
|
||||
|
||||
/// getFunction - Return the LLVM function that this machine code represents
|
||||
///
|
||||
const Function *getFunction() const { return Fn; }
|
||||
Function *getFunction() const { return Fn; }
|
||||
|
||||
/// getTarget - Return the target machine this machine code is compiled with
|
||||
///
|
||||
@ -229,21 +229,6 @@ public:
|
||||
///
|
||||
void dump() const;
|
||||
|
||||
/// construct - Allocate and initialize a MachineFunction for a given Function
|
||||
/// and Target
|
||||
///
|
||||
static MachineFunction& construct(const Function *F, const TargetMachine &TM);
|
||||
|
||||
/// destruct - Destroy the MachineFunction corresponding to a given Function
|
||||
///
|
||||
static void destruct(const Function *F);
|
||||
|
||||
/// get - Return a handle to a MachineFunction corresponding to the given
|
||||
/// Function. This should not be called before "construct()" for a given
|
||||
/// Function.
|
||||
///
|
||||
static MachineFunction& get(const Function *F);
|
||||
|
||||
// Provide accessors for the MachineBasicBlock list...
|
||||
typedef BasicBlockListType::iterator iterator;
|
||||
typedef BasicBlockListType::const_iterator const_iterator;
|
||||
|
Reference in New Issue
Block a user