Revert r169456, "change MCContext to work on the doInitialization/doFinalization model"

It broke many builders.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169462 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
NAKAMURA Takumi 2012-12-06 02:00:13 +00:00
parent c9758b1366
commit c7078924f0
3 changed files with 6 additions and 47 deletions

View File

@ -154,17 +154,6 @@ namespace llvm {
void setAllowTemporaryLabels(bool Value) { AllowTemporaryLabels = Value; }
/// @name Module Lifetime Management
/// @{
/// doInitialization - prepare to process a new module
void doInitialization();
/// doFinalization - clean up state from the current module
void doFinalization();
/// @}
/// @name Symbol Management
/// @{

View File

@ -270,9 +270,6 @@ MachineModuleInfo::~MachineModuleInfo() {
}
bool MachineModuleInfo::doInitialization(Module &M) {
Context.doInitialization();
ObjFileMMI = 0;
CompactUnwindEncoding = 0;
CurCallSite = 0;
@ -294,8 +291,6 @@ bool MachineModuleInfo::doFinalization(Module &M) {
delete AddrLabelSymbols;
AddrLabelSymbols = 0;
Context.doFinalization();
return false;
}

View File

@ -44,48 +44,23 @@ MCContext::MCContext(const MCAsmInfo &mai, const MCRegisterInfo &mri,
SecureLogFile = getenv("AS_SECURE_LOG_FILE");
SecureLog = 0;
SecureLogUsed = false;
}
MCContext::~MCContext() {
// NOTE: The symbols are all allocated out of a bump pointer allocator,
// we don't need to free them here.
// If the stream for the .secure_log_unique directive was created free it.
delete (raw_ostream*)SecureLog;
}
//===----------------------------------------------------------------------===//
// Module Lifetime Management
//===----------------------------------------------------------------------===//
void MCContext::doInitialization() {
NextUniqueID = 0;
AllowTemporaryLabels = true;
DwarfLocSeen = false;
GenDwarfForAssembly = false;
GenDwarfFileNumber = 0;
}
void MCContext::doFinalization() {
UsedNames.clear();
Symbols.clear();
Allocator.Reset();
Instances.clear();
MCDwarfFiles.clear();
MCDwarfDirs.clear();
MCGenDwarfLabelEntries.clear();
DwarfDebugFlags = StringRef();
MCLineSections.clear();
MCLineSectionOrder.clear();
CurrentDwarfLoc = MCDwarfLoc(0,0,0,DWARF2_FLAG_IS_STMT,0,0);
MCContext::~MCContext() {
// NOTE: The symbols are all allocated out of a bump pointer allocator,
// we don't need to free them here.
// If we have the MachO uniquing map, free it.
delete (MachOUniqueMapTy*)MachOUniquingMap;
delete (ELFUniqueMapTy*)ELFUniquingMap;
delete (COFFUniqueMapTy*)COFFUniquingMap;
MachOUniquingMap = 0;
ELFUniquingMap = 0;
COFFUniquingMap = 0;
// If the stream for the .secure_log_unique directive was created free it.
delete (raw_ostream*)SecureLog;
}
//===----------------------------------------------------------------------===//