diff options
author | Chris Lattner <sabre@nondot.org> | 2002-12-25 05:03:22 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-12-25 05:03:22 +0000 |
commit | 831fdcf0177a4eef66129cd6fb4138922c492bf0 (patch) | |
tree | 66dc52050b71be597898626dd46a9f1375c33c2a | |
parent | 8c5d47da98e98ca70bbdba0d7eb9149c52ff29ba (diff) |
Remove dependency on SSARegMap.h by MachineFunction.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5143 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/MachineFunction.cpp | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp index 8e2616a621..ef783d1741 100644 --- a/lib/CodeGen/MachineFunction.cpp +++ b/lib/CodeGen/MachineFunction.cpp @@ -6,9 +6,10 @@ // //===----------------------------------------------------------------------===// -#include "llvm/CodeGen/MachineInstr.h" // For debug output #include "llvm/CodeGen/MachineFunction.h" +#include "llvm/CodeGen/MachineInstr.h" #include "llvm/CodeGen/MachineCodeForInstruction.h" +#include "llvm/CodeGen/SSARegMap.h" #include "llvm/Target/TargetMachine.h" #include "llvm/Target/MachineFrameInfo.h" #include "llvm/Target/MachineCacheInfo.h" @@ -95,14 +96,18 @@ Pass *createMachineFunctionPrinterPass() { MachineFunction::MachineFunction(const Function *F, const TargetMachine& target) - : Annotation(MF_AID), - Fn(F), Target(target), staticStackSize(0), - automaticVarsSize(0), regSpillsSize(0), - maxOptionalArgsSize(0), maxOptionalNumArgs(0), - currentTmpValuesSize(0), maxTmpValuesSize(0), compiledAsLeaf(false), - spillsAreaFrozen(false), automaticVarsAreaFrozen(false) -{ + : Annotation(MF_AID), Fn(F), Target(target) { SSARegMapping = new SSARegMap(); + + // FIXME: move state into another class + staticStackSize = automaticVarsSize = regSpillsSize = 0; + maxOptionalArgsSize = maxOptionalNumArgs = currentTmpValuesSize = 0; + maxTmpValuesSize = 0; + compiledAsLeaf = spillsAreaFrozen = automaticVarsAreaFrozen = false; +} + +MachineFunction::~MachineFunction() { + delete SSARegMapping; } void MachineFunction::dump() const { print(std::cerr); } @@ -153,6 +158,12 @@ MachineFunction& MachineFunction::get(const Function *F) return *mc; } +void MachineFunction::clearSSARegMap() { + delete SSARegMapping; + SSARegMapping = 0; +} + + static unsigned ComputeMaxOptionalArgsSize(const TargetMachine& target, const Function *F, unsigned &maxOptionalNumArgs) |