From b9d1005e96681b5c8cc1ed959fa129de62933020 Mon Sep 17 00:00:00 2001 From: Pedro Artigas Date: Fri, 4 Jan 2013 18:04:42 +0000 Subject: [PATCH] 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 --- lib/CodeGen/MachineModuleInfo.cpp | 4 +++- lib/MC/MCObjectStreamer.cpp | 1 + lib/MC/MCStreamer.cpp | 1 - 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/CodeGen/MachineModuleInfo.cpp b/lib/CodeGen/MachineModuleInfo.cpp index 1869fe3d936..0ea9ae0fcc8 100644 --- a/lib/CodeGen/MachineModuleInfo.cpp +++ b/lib/CodeGen/MachineModuleInfo.cpp @@ -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; } diff --git a/lib/MC/MCObjectStreamer.cpp b/lib/MC/MCObjectStreamer.cpp index e36e181ff56..6d5c0a54f37 100644 --- a/lib/MC/MCObjectStreamer.cpp +++ b/lib/MC/MCObjectStreamer.cpp @@ -47,6 +47,7 @@ MCObjectStreamer::~MCObjectStreamer() { void MCObjectStreamer::reset() { if (Assembler) Assembler->reset(); + CurSectionData = 0; MCStreamer::reset(); } diff --git a/lib/MC/MCStreamer.cpp b/lib/MC/MCStreamer.cpp index 6f0ada277c1..7dffc3e21b4 100644 --- a/lib/MC/MCStreamer.cpp +++ b/lib/MC/MCStreamer.cpp @@ -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));