Chris Lattner | b9de903 | 2006-10-29 22:08:03 +0000 | [diff] [blame] | 1 | //===--- Allocator.cpp - Simple memory allocation abstraction -------------===// |
| 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
Chris Lattner | f3ebc3f | 2007-12-29 20:36:04 +0000 | [diff] [blame] | 5 | // This file is distributed under the University of Illinois Open Source |
| 6 | // License. See LICENSE.TXT for details. |
Chris Lattner | b9de903 | 2006-10-29 22:08:03 +0000 | [diff] [blame] | 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | // |
| 10 | // This file implements the BumpPtrAllocator interface. |
| 11 | // |
| 12 | //===----------------------------------------------------------------------===// |
| 13 | |
| 14 | #include "llvm/Support/Allocator.h" |
Daniel Dunbar | a3d677b | 2009-07-24 04:01:01 +0000 | [diff] [blame] | 15 | #include "llvm/Support/raw_ostream.h" |
Chris Lattner | b9de903 | 2006-10-29 22:08:03 +0000 | [diff] [blame] | 16 | |
Reid Kleckner | c2d882d | 2009-07-23 18:34:13 +0000 | [diff] [blame] | 17 | namespace llvm { |
Chris Lattner | b9de903 | 2006-10-29 22:08:03 +0000 | [diff] [blame] | 18 | |
Chandler Carruth | 1cc9023 | 2014-04-14 06:42:56 +0000 | [diff] [blame] | 19 | namespace detail { |
| 20 | |
Chandler Carruth | f5babf9 | 2014-04-14 03:55:11 +0000 | [diff] [blame] | 21 | void printBumpPtrAllocatorStats(unsigned NumSlabs, size_t BytesAllocated, |
| 22 | size_t TotalMemory) { |
Daniel Dunbar | a3d677b | 2009-07-24 04:01:01 +0000 | [diff] [blame] | 23 | errs() << "\nNumber of memory regions: " << NumSlabs << '\n' |
| 24 | << "Bytes used: " << BytesAllocated << '\n' |
| 25 | << "Bytes allocated: " << TotalMemory << '\n' |
| 26 | << "Bytes wasted: " << (TotalMemory - BytesAllocated) |
| 27 | << " (includes alignment, etc)\n"; |
Reid Kleckner | c2d882d | 2009-07-23 18:34:13 +0000 | [diff] [blame] | 28 | } |
| 29 | |
Chandler Carruth | 1cc9023 | 2014-04-14 06:42:56 +0000 | [diff] [blame] | 30 | } // End namespace detail. |
| 31 | |
Reid Kleckner | c2d882d | 2009-07-23 18:34:13 +0000 | [diff] [blame] | 32 | void PrintRecyclerStats(size_t Size, |
| 33 | size_t Align, |
| 34 | size_t FreeListSize) { |
Daniel Dunbar | a3d677b | 2009-07-24 04:01:01 +0000 | [diff] [blame] | 35 | errs() << "Recycler element size: " << Size << '\n' |
| 36 | << "Recycler element alignment: " << Align << '\n' |
| 37 | << "Number of elements free for recycling: " << FreeListSize << '\n'; |
Reid Kleckner | c2d882d | 2009-07-23 18:34:13 +0000 | [diff] [blame] | 38 | } |
| 39 | |
Alexander Kornienko | f00654e | 2015-06-23 09:49:53 +0000 | [diff] [blame] | 40 | } |