mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-21 18:31:36 +00:00
enhance MachineFunction to have a MMI pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100414 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
00759c15e0
commit
820e55e9ad
@ -32,6 +32,7 @@ class MachineRegisterInfo;
|
||||
class MachineFrameInfo;
|
||||
class MachineConstantPool;
|
||||
class MachineJumpTableInfo;
|
||||
class MachineModuleInfo;
|
||||
class MCContext;
|
||||
class Pass;
|
||||
class TargetMachine;
|
||||
@ -72,7 +73,8 @@ class MachineFunction {
|
||||
Function *Fn;
|
||||
const TargetMachine &Target;
|
||||
MCContext &Ctx;
|
||||
|
||||
MachineModuleInfo &MMI;
|
||||
|
||||
// RegInfo - Information about each register in use in the function.
|
||||
MachineRegisterInfo *RegInfo;
|
||||
|
||||
@ -107,8 +109,8 @@ class MachineFunction {
|
||||
typedef ilist<MachineBasicBlock> BasicBlockListType;
|
||||
BasicBlockListType BasicBlocks;
|
||||
|
||||
// Default debug location. Used to print out the debug label at the beginning
|
||||
// of a function.
|
||||
/// Default debug location. Used to print out the debug label at the beginning
|
||||
/// of a function.
|
||||
DebugLoc DefaultDebugLoc;
|
||||
|
||||
/// FunctionNumber - This provides a unique ID for each function emitted in
|
||||
@ -116,17 +118,17 @@ class MachineFunction {
|
||||
///
|
||||
unsigned FunctionNumber;
|
||||
|
||||
// The alignment of the function.
|
||||
/// The alignment of the function.
|
||||
unsigned Alignment;
|
||||
|
||||
MachineFunction(const MachineFunction &); // DO NOT IMPLEMENT
|
||||
void operator=(const MachineFunction&); // DO NOT IMPLEMENT
|
||||
|
||||
public:
|
||||
MachineFunction(Function *Fn, const TargetMachine &TM, unsigned FunctionNum,
|
||||
MCContext &Ctx);
|
||||
MachineModuleInfo &MMI);
|
||||
~MachineFunction();
|
||||
|
||||
MachineModuleInfo &getMMI() const { return MMI; }
|
||||
MCContext &getContext() const { return Ctx; }
|
||||
|
||||
/// getFunction - Return the LLVM function that this machine code represents
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "llvm/CodeGen/MachineFrameInfo.h"
|
||||
#include "llvm/CodeGen/MachineInstr.h"
|
||||
#include "llvm/CodeGen/MachineJumpTableInfo.h"
|
||||
#include "llvm/CodeGen/MachineModuleInfo.h"
|
||||
#include "llvm/CodeGen/MachineRegisterInfo.h"
|
||||
#include "llvm/CodeGen/Passes.h"
|
||||
#include "llvm/MC/MCAsmInfo.h"
|
||||
@ -51,8 +52,8 @@ void ilist_traits<MachineBasicBlock>::deleteNode(MachineBasicBlock *MBB) {
|
||||
}
|
||||
|
||||
MachineFunction::MachineFunction(Function *F, const TargetMachine &TM,
|
||||
unsigned FunctionNum, MCContext &ctx)
|
||||
: Fn(F), Target(TM), Ctx(ctx) {
|
||||
unsigned FunctionNum, MachineModuleInfo &mmi)
|
||||
: Fn(F), Target(TM), Ctx(mmi.getContext()), MMI(mmi) {
|
||||
if (TM.getRegisterInfo())
|
||||
RegInfo = new (Allocator) MachineRegisterInfo(*TM.getRegisterInfo());
|
||||
else
|
||||
|
@ -38,7 +38,7 @@ MachineFunctionAnalysis::~MachineFunctionAnalysis() {
|
||||
bool MachineFunctionAnalysis::runOnFunction(Function &F) {
|
||||
assert(!MF && "MachineFunctionAnalysis already initialized!");
|
||||
MF = new MachineFunction(&F, TM, NextFnNum++,
|
||||
getAnalysis<MachineModuleInfo>().getContext());
|
||||
getAnalysis<MachineModuleInfo>());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user