mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +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:
parent
c9758b1366
commit
c7078924f0
@ -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
|
||||
/// @{
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
Loading…
Reference in New Issue
Block a user