small fixes to enable the reuse of the pass manager across multiple modules

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171475 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Pedro Artigas 2013-01-04 18:04:42 +00:00
parent 60230ef987
commit b9d1005e96
3 changed files with 4 additions and 2 deletions

View File

@ -266,7 +266,6 @@ MachineModuleInfo::MachineModuleInfo()
}
MachineModuleInfo::~MachineModuleInfo() {
delete ObjFileMMI;
}
bool MachineModuleInfo::doInitialization(Module &M) {
@ -294,6 +293,9 @@ bool MachineModuleInfo::doFinalization(Module &M) {
Context.reset();
delete ObjFileMMI;
ObjFileMMI = 0;
return false;
}

View File

@ -47,6 +47,7 @@ MCObjectStreamer::~MCObjectStreamer() {
void MCObjectStreamer::reset() {
if (Assembler)
Assembler->reset();
CurSectionData = 0;
MCStreamer::reset();
}

View File

@ -41,7 +41,6 @@ void MCStreamer::reset() {
EmitDebugFrame = false;
CurrentW64UnwindInfo = 0;
LastSymbol = 0;
AutoInitSections = false;
const MCSection *section = NULL;
SectionStack.clear();
SectionStack.push_back(std::make_pair(section, section));