Index: llvm/trunk/include/llvm/Support/Allocator.h =================================================================== --- llvm/trunk/include/llvm/Support/Allocator.h +++ llvm/trunk/include/llvm/Support/Allocator.h @@ -201,9 +201,6 @@ /// \brief Allocate space at the specified alignment. void *Allocate(size_t Size, size_t Alignment) { - if (!CurPtr) // Start a new slab if we haven't allocated one already. - StartNewSlab(); - // Keep track of how many bytes we've allocated. BytesAllocated += Size; Index: llvm/trunk/unittests/Support/AllocatorTest.cpp =================================================================== --- llvm/trunk/unittests/Support/AllocatorTest.cpp +++ llvm/trunk/unittests/Support/AllocatorTest.cpp @@ -112,7 +112,7 @@ BumpPtrAllocator Alloc; Alloc.Allocate(8000, 0); - EXPECT_EQ(2U, Alloc.GetNumSlabs()); + EXPECT_EQ(1U, Alloc.GetNumSlabs()); } // Mock slab allocator that returns slabs aligned on 4096 bytes. There is no