aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-09-15 22:44:26 +0000
committerChris Lattner <sabre@nondot.org>2009-09-15 22:44:26 +0000
commita70e2e3d4831b8a39ea6bae5c62df29fa82a86f3 (patch)
tree05c14c52d3fe8ebd8caa27117542615e0f00a1ae /lib
parent40fe16fadaccb86d9bff13ebe1c9a0cb20b2251b (diff)
downloadexternal_llvm-a70e2e3d4831b8a39ea6bae5c62df29fa82a86f3.tar.gz
external_llvm-a70e2e3d4831b8a39ea6bae5c62df29fa82a86f3.tar.bz2
external_llvm-a70e2e3d4831b8a39ea6bae5c62df29fa82a86f3.zip
add hooks to hang target-specific goop off MachineModuleInfo,
move MachineFunctionInfo virtual method out of line to give it a home. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81940 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/MachineFunction.cpp3
-rw-r--r--lib/CodeGen/MachineModuleInfo.cpp14
2 files changed, 10 insertions, 7 deletions
diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp
index 14ba36011f..d0773ff457 100644
--- a/lib/CodeGen/MachineFunction.cpp
+++ b/lib/CodeGen/MachineFunction.cpp
@@ -73,6 +73,9 @@ FunctionPass *llvm::createMachineFunctionPrinterPass(raw_ostream &OS,
// MachineFunction implementation
//===---------------------------------------------------------------------===//
+// Out of line virtual method.
+MachineFunctionInfo::~MachineFunctionInfo() {}
+
void ilist_traits<MachineBasicBlock>::deleteNode(MachineBasicBlock *MBB) {
MBB->getParent()->DeleteMachineBasicBlock(MBB);
}
diff --git a/lib/CodeGen/MachineModuleInfo.cpp b/lib/CodeGen/MachineModuleInfo.cpp
index a673d177fa..b32ed81d1c 100644
--- a/lib/CodeGen/MachineModuleInfo.cpp
+++ b/lib/CodeGen/MachineModuleInfo.cpp
@@ -32,23 +32,23 @@ static RegisterPass<MachineModuleInfo>
X("machinemoduleinfo", "Module Information");
char MachineModuleInfo::ID = 0;
+// Out of line virtual method.
+MachineModuleInfoImpl::~MachineModuleInfoImpl() {}
+
//===----------------------------------------------------------------------===//
MachineModuleInfo::MachineModuleInfo()
: ImmutablePass(&ID)
-, LabelIDList()
-, FrameMoves()
-, LandingPads()
-, Personalities()
+, TargetMMI(0)
, CallsEHReturn(0)
, CallsUnwindInit(0)
-, DbgInfoAvailable(false)
-{
+, DbgInfoAvailable(false) {
// Always emit some info, by default "no personality" info.
Personalities.push_back(NULL);
}
-MachineModuleInfo::~MachineModuleInfo() {
+MachineModuleInfo::~MachineModuleInfo() {
+ delete TargetMMI;
}
/// doInitialization - Initialize the state for a new module.