diff --git a/include/llvm/CodeGen/MachineFunction.h b/include/llvm/CodeGen/MachineFunction.h index 33f9efc281b..e429fc4f111 100644 --- a/include/llvm/CodeGen/MachineFunction.h +++ b/include/llvm/CodeGen/MachineFunction.h @@ -27,7 +27,8 @@ Pass *createMachineCodeConstructionPass(TargetMachine &Target); Pass *createMachineCodeDestructionPass(); class MachineFunction : private Annotation { - const Function *method; + const Function *Fn; + const TargetMachine &Target; // List of machine basic blocks in function iplist BasicBlocks; @@ -47,8 +48,15 @@ class MachineFunction : private Annotation { bool automaticVarsAreaFrozen; public: - MachineFunction(const Function* function, - const TargetMachine& target); + MachineFunction(const Function *Fn, const TargetMachine& target); + + /// getFunction - Return the LLVM function that this machine code represents + /// + const Function *getFunction() const { return Fn; } + + /// getTarget - Return the target machine this machine code is compiled with + /// + const TargetMachine &getTarget() const { return Target; } // The next two methods are used to construct and to retrieve // the MachineFunction object for the given method. @@ -57,8 +65,8 @@ public: // This should not be called before "construct()" // for a given Method. // - static MachineFunction& construct(const Function *method, - const TargetMachine &target); + static MachineFunction& construct(const Function *Fn, + const TargetMachine &target); static void destruct(const Function *F); static MachineFunction& get(const Function *F); diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp index 15036a4d077..c06c008bade 100644 --- a/lib/CodeGen/MachineFunction.cpp +++ b/lib/CodeGen/MachineFunction.cpp @@ -99,24 +99,23 @@ MachineBasicBlock& MachineBasicBlock::get(const BasicBlock *BB) { // for a given Function. // MachineFunction& -MachineFunction::construct(const Function *M, const TargetMachine &Tar) +MachineFunction::construct(const Function *Fn, const TargetMachine &Tar) { - assert(M->getAnnotation(MCFM_AID) == 0 && + assert(Fn->getAnnotation(MCFM_AID) == 0 && "Object already exists for this function!"); - MachineFunction* mcInfo = new MachineFunction(M, Tar); - M->addAnnotation(mcInfo); + MachineFunction* mcInfo = new MachineFunction(Fn, Tar); + Fn->addAnnotation(mcInfo); return *mcInfo; } void -MachineFunction::destruct(const Function *M) +MachineFunction::destruct(const Function *Fn) { - bool Deleted = M->deleteAnnotation(MCFM_AID); + bool Deleted = Fn->deleteAnnotation(MCFM_AID); assert(Deleted && "Machine code did not exist for function!"); } -MachineFunction& -MachineFunction::get(const Function *F) +MachineFunction& MachineFunction::get(const Function *F) { MachineFunction *mc = (MachineFunction*)F->getAnnotation(MCFM_AID); assert(mc && "Call construct() method first to allocate the object"); @@ -191,15 +190,15 @@ SizeToAlignment(unsigned int size, const TargetMachine& target) /*ctor*/ MachineFunction::MachineFunction(const Function *F, - const TargetMachine& target) + const TargetMachine& target) : Annotation(MCFM_AID), - method(F), staticStackSize(0), + Fn(F), Target(target), staticStackSize(0), automaticVarsSize(0), regSpillsSize(0), maxOptionalArgsSize(0), maxOptionalNumArgs(0), currentTmpValuesSize(0), maxTmpValuesSize(0), compiledAsLeaf(false), spillsAreaFrozen(false), automaticVarsAreaFrozen(false) { - maxOptionalArgsSize = ComputeMaxOptionalArgsSize(target, method, + maxOptionalArgsSize = ComputeMaxOptionalArgsSize(target, Fn, maxOptionalNumArgs); staticStackSize = maxOptionalArgsSize + target.getFrameInfo().getMinStackFrameSize(); @@ -310,10 +309,10 @@ MachineFunction::getOffset(const Value* val) const void MachineFunction::dump() const { - std::cerr << "\n" << method->getReturnType() - << " \"" << method->getName() << "\"\n"; + std::cerr << "\n" << Fn->getReturnType() + << " \"" << Fn->getName() << "\"\n"; - for (Function::const_iterator BB = method->begin(); BB != method->end(); ++BB) + for (Function::const_iterator BB = Fn->begin(); BB != Fn->end(); ++BB) { std::cerr << "\n" << BB->getName() << " (" << (const void*)BB << ")" << ":" << "\n"; @@ -321,5 +320,5 @@ MachineFunction::dump() const for (unsigned i=0; i < mvec.size(); i++) std::cerr << "\t" << *mvec[i]; } - std::cerr << "\nEnd function \"" << method->getName() << "\"\n\n"; + std::cerr << "\nEnd function \"" << Fn->getName() << "\"\n\n"; }