Index: include/llvm/Support/Allocator.h =================================================================== --- include/llvm/Support/Allocator.h +++ 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: unittests/Support/AllocatorTest.cpp =================================================================== --- unittests/Support/AllocatorTest.cpp +++ 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