mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-02 16:56:50 +00:00
Revert 99881, it brooke smooshlab's llvm-gcc-i386-darwin9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99882 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2a22004f68
commit
226dd2ba99
@ -134,7 +134,6 @@ class BumpPtrAllocator {
|
||||
static MallocSlabAllocator DefaultSlabAllocator;
|
||||
|
||||
public:
|
||||
typedef void (*DTorFunction)(void*);
|
||||
BumpPtrAllocator(size_t size = 4096, size_t threshold = 4096,
|
||||
SlabAllocator &allocator = DefaultSlabAllocator);
|
||||
~BumpPtrAllocator();
|
||||
@ -143,11 +142,6 @@ public:
|
||||
/// to the beginning of it, freeing all memory allocated so far.
|
||||
void Reset();
|
||||
|
||||
/// Reset - like Reset(), but call DTorFunction for each allocated
|
||||
/// object. This assumes that all objects allocated with this allocator
|
||||
/// had the same size and alignment specified here.
|
||||
void Reset(size_t Size, size_t Alignment, DTorFunction DTor);
|
||||
|
||||
/// Allocate - Allocate space at the specified alignment.
|
||||
///
|
||||
void *Allocate(size_t Size, size_t Alignment);
|
||||
|
@ -82,11 +82,6 @@ void LiveIntervals::getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
MachineFunctionPass::getAnalysisUsage(AU);
|
||||
}
|
||||
|
||||
static void VNInfoDTor(void* Ptr)
|
||||
{
|
||||
reinterpret_cast<VNInfo*>(Ptr)->~VNInfo();
|
||||
}
|
||||
|
||||
void LiveIntervals::releaseMemory() {
|
||||
// Free the live intervals themselves.
|
||||
for (DenseMap<unsigned, LiveInterval*>::iterator I = r2iMap_.begin(),
|
||||
@ -96,7 +91,7 @@ void LiveIntervals::releaseMemory() {
|
||||
r2iMap_.clear();
|
||||
|
||||
// Release VNInfo memroy regions after all VNInfo objects are dtor'd.
|
||||
VNInfoAllocator.Reset((unsigned)sizeof(VNInfo), alignof<VNInfo>(), VNInfoDTor);
|
||||
VNInfoAllocator.Reset();
|
||||
while (!CloneMIs.empty()) {
|
||||
MachineInstr *MI = CloneMIs.back();
|
||||
CloneMIs.pop_back();
|
||||
|
@ -78,21 +78,6 @@ void BumpPtrAllocator::Reset() {
|
||||
End = ((char*)CurSlab) + CurSlab->Size;
|
||||
}
|
||||
|
||||
void BumpPtrAllocator::Reset(size_t Size, size_t Alignment, DTorFunction DTor) {
|
||||
if (Alignment == 0) Alignment = 1;
|
||||
MemSlab *Slab = CurSlab;
|
||||
while (Slab) {
|
||||
char *End = Slab == CurSlab ? CurPtr : (char*)Slab + Slab->Size;
|
||||
for (char *Ptr = (char*)Slab+1; Ptr < End; Ptr += Size) {
|
||||
Ptr = AlignPtr(Ptr, Alignment);
|
||||
if (Ptr + Size <= End)
|
||||
DTor(Ptr);
|
||||
}
|
||||
Slab = Slab->NextPtr;
|
||||
}
|
||||
Reset();
|
||||
}
|
||||
|
||||
/// Allocate - Allocate space at the specified alignment.
|
||||
///
|
||||
void *BumpPtrAllocator::Allocate(size_t Size, size_t Alignment) {
|
||||
|
Loading…
Reference in New Issue
Block a user