mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-06 20:32:19 +00:00
My guess is that RegInfo should only call the Allocator.Deallocator if it's not
null. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74147 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cc4e605721
commit
dd37b360d7
@ -124,25 +124,28 @@ MachineFunction::MachineFunction(const Function *F,
|
||||
MachineFrameInfo(*TM.getFrameInfo());
|
||||
ConstantPool = new (Allocator.Allocate<MachineConstantPool>())
|
||||
MachineConstantPool(TM.getTargetData());
|
||||
|
||||
|
||||
// Set up jump table.
|
||||
const TargetData &TD = *TM.getTargetData();
|
||||
bool IsPic = TM.getRelocationModel() == Reloc::PIC_;
|
||||
unsigned EntrySize = IsPic ? 4 : TD.getPointerSize();
|
||||
unsigned Alignment = IsPic ? TD.getABITypeAlignment(Type::Int32Ty)
|
||||
: TD.getPointerABIAlignment();
|
||||
unsigned TyAlignment = IsPic ? TD.getABITypeAlignment(Type::Int32Ty)
|
||||
: TD.getPointerABIAlignment();
|
||||
JumpTableInfo = new (Allocator.Allocate<MachineJumpTableInfo>())
|
||||
MachineJumpTableInfo(EntrySize, Alignment);
|
||||
MachineJumpTableInfo(EntrySize, TyAlignment);
|
||||
}
|
||||
|
||||
MachineFunction::~MachineFunction() {
|
||||
BasicBlocks.clear();
|
||||
InstructionRecycler.clear(Allocator);
|
||||
BasicBlockRecycler.clear(Allocator);
|
||||
if (RegInfo)
|
||||
RegInfo->~MachineRegisterInfo(); Allocator.Deallocate(RegInfo);
|
||||
if (RegInfo) {
|
||||
RegInfo->~MachineRegisterInfo();
|
||||
Allocator.Deallocate(RegInfo);
|
||||
}
|
||||
if (MFInfo) {
|
||||
MFInfo->~MachineFunctionInfo(); Allocator.Deallocate(MFInfo);
|
||||
MFInfo->~MachineFunctionInfo();
|
||||
Allocator.Deallocate(MFInfo);
|
||||
}
|
||||
FrameInfo->~MachineFrameInfo(); Allocator.Deallocate(FrameInfo);
|
||||
ConstantPool->~MachineConstantPool(); Allocator.Deallocate(ConstantPool);
|
||||
|
Loading…
Reference in New Issue
Block a user