llvm-6502/lib/Support
Benjamin Kramer 82d96cccbc Grow BumpPtrAllocator's slab size dynamically if we allocated many slabs. This
reduces the amount of malloc calls and may reduce memory overhead.

Some numbers:
ASTContext stats, clang -cc1 -disable-free -fsyntax-only Cocoa_h.m
without dynamic growth                          |  with dynamic growth
Number of memory regions: 3158                  |  Number of memory regions: 432
Bytes used: 12333185                            |  Bytes used: 12333185
Bytes allocated: 12935168                       |  Bytes allocated: 12800000
Bytes wasted: 601983 (includes alignment, etc)  |  Bytes wasted: 466815 (includes alignment, etc)

ASTContext stats, clang -cc1 -disable-free -fsyntax-only on clang's ASTReader.cpp
without dynamic growth                          |  with dynamic growth
Number of memory regions: 10987                 |  Number of memory regions: 551
Bytes used: 42910356                            |  Bytes used: 42910356
Bytes allocated: 45002752                       |  Bytes allocated: 44711936
Bytes wasted: 2092396 (includes alignment, etc) |  Bytes wasted: 1801580 (includes alignment, etc)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115151 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-30 16:18:28 +00:00
..
Allocator.cpp Grow BumpPtrAllocator's slab size dynamically if we allocated many slabs. This 2010-09-30 16:18:28 +00:00
APFloat.cpp Do not assert when reading an exponent out of range. 2010-08-19 17:58:35 +00:00
APInt.cpp stomp some more undefined behavior, PR7775. 2010-08-18 00:33:47 +00:00
APSInt.cpp
circular_raw_ostream.cpp
CMakeLists.txt Removed a bunch of unnecessary target_link_libraries. 2010-09-28 22:39:14 +00:00
CommandLine.cpp
ConstantRange.cpp Make ConstantRange::makeICmpRegion handle all the edge cases properly. This 2010-09-28 18:18:36 +00:00
COPYRIGHT.regex
CrashRecoveryContext.cpp CrashRecovery: Clear the current context on the first crash, to avoid re-entering it if the cleanup code crashes. 2010-08-17 22:32:39 +00:00
DAGDeltaAlgorithm.cpp
Debug.cpp
DeltaAlgorithm.cpp
Dwarf.cpp
ErrorHandling.cpp Some versions of gcc still warn about "ignoring return value ... declared 2010-09-16 08:20:49 +00:00
FileUtilities.cpp
FoldingSet.cpp Use Bits.data() instead of &Bits[0]. 2010-08-24 23:16:53 +00:00
FormattedStream.cpp Make tool_output_file's raw_ostream instance a member variable instead 2010-09-01 14:20:41 +00:00
GraphWriter.cpp Delete an unused declaration. 2010-09-27 16:54:49 +00:00
IsInf.cpp
IsNAN.cpp
Makefile
ManagedStatic.cpp
MemoryBuffer.cpp
MemoryObject.cpp
PluginLoader.cpp
PrettyStackTrace.cpp
raw_os_ostream.cpp
raw_ostream.cpp Make tool_output_file's raw_ostream instance a member variable instead 2010-09-01 14:20:41 +00:00
regcclass.h
regcname.h
regcomp.c
regengine.inc
regerror.c
regex2.h
regex_impl.h
Regex.cpp
regexec.c
regfree.c
regstrlcpy.c
regutils.h
SmallPtrSet.cpp
SmallVector.cpp After some discussion with djg, teach SmallVector to grow from a zero 2010-09-02 21:55:03 +00:00
SourceMgr.cpp Push twines deeper into SourceMgr's error handling methods. 2010-09-27 17:42:11 +00:00
Statistic.cpp remove trailing whitespace 2010-08-17 17:37:22 +00:00
StringExtras.cpp
StringMap.cpp
StringPool.cpp
StringRef.cpp StringRef::compare_numeric also differed from StringRef::compare for characters > 127. 2010-08-26 15:25:35 +00:00
SystemUtils.cpp Use the FindProgramByName fallback only with known absolute paths. 2010-09-02 22:32:38 +00:00
TargetRegistry.cpp
Timer.cpp
Triple.cpp Add better support for environment portion of triple. Original patch by 2010-09-16 08:25:48 +00:00
Twine.cpp