mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-19 18:24:00 +00:00
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:
@ -154,17 +154,6 @@ namespace llvm {
|
|||||||
|
|
||||||
void setAllowTemporaryLabels(bool Value) { AllowTemporaryLabels = Value; }
|
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
|
/// @name Symbol Management
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
|
@ -270,9 +270,6 @@ MachineModuleInfo::~MachineModuleInfo() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool MachineModuleInfo::doInitialization(Module &M) {
|
bool MachineModuleInfo::doInitialization(Module &M) {
|
||||||
|
|
||||||
Context.doInitialization();
|
|
||||||
|
|
||||||
ObjFileMMI = 0;
|
ObjFileMMI = 0;
|
||||||
CompactUnwindEncoding = 0;
|
CompactUnwindEncoding = 0;
|
||||||
CurCallSite = 0;
|
CurCallSite = 0;
|
||||||
@ -294,8 +291,6 @@ bool MachineModuleInfo::doFinalization(Module &M) {
|
|||||||
delete AddrLabelSymbols;
|
delete AddrLabelSymbols;
|
||||||
AddrLabelSymbols = 0;
|
AddrLabelSymbols = 0;
|
||||||
|
|
||||||
Context.doFinalization();
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,48 +44,23 @@ MCContext::MCContext(const MCAsmInfo &mai, const MCRegisterInfo &mri,
|
|||||||
SecureLogFile = getenv("AS_SECURE_LOG_FILE");
|
SecureLogFile = getenv("AS_SECURE_LOG_FILE");
|
||||||
SecureLog = 0;
|
SecureLog = 0;
|
||||||
SecureLogUsed = false;
|
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;
|
DwarfLocSeen = false;
|
||||||
GenDwarfForAssembly = false;
|
GenDwarfForAssembly = false;
|
||||||
GenDwarfFileNumber = 0;
|
GenDwarfFileNumber = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MCContext::doFinalization() {
|
MCContext::~MCContext() {
|
||||||
UsedNames.clear();
|
// NOTE: The symbols are all allocated out of a bump pointer allocator,
|
||||||
Symbols.clear();
|
// we don't need to free them here.
|
||||||
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);
|
|
||||||
|
|
||||||
// If we have the MachO uniquing map, free it.
|
// If we have the MachO uniquing map, free it.
|
||||||
delete (MachOUniqueMapTy*)MachOUniquingMap;
|
delete (MachOUniqueMapTy*)MachOUniquingMap;
|
||||||
delete (ELFUniqueMapTy*)ELFUniquingMap;
|
delete (ELFUniqueMapTy*)ELFUniquingMap;
|
||||||
delete (COFFUniqueMapTy*)COFFUniquingMap;
|
delete (COFFUniqueMapTy*)COFFUniquingMap;
|
||||||
MachOUniquingMap = 0;
|
|
||||||
ELFUniquingMap = 0;
|
// If the stream for the .secure_log_unique directive was created free it.
|
||||||
COFFUniquingMap = 0;
|
delete (raw_ostream*)SecureLog;
|
||||||
}
|
}
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
Reference in New Issue
Block a user