llvm-mirror/lib/Support
Benjamin Kramer 3f7e313552 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)

llvm-svn: 115151
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 clean this up, fix std::min ambiguity on some platforms. 2010-04-09 20:43:54 +00:00
CMakeLists.txt Removed a bunch of unnecessary target_link_libraries. 2010-09-28 22:39:14 +00:00
CommandLine.cpp Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently: 2010-05-10 20:11:56 +00:00
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 Use const_iterator where appropriate. 2010-06-08 17:21:57 +00:00
Debug.cpp Fix a bunch of namespace polution. 2010-04-15 17:08:50 +00:00
DeltaAlgorithm.cpp DeltaAlgorithm: Tweak split to split by first/second half instead of even/odd, since adjacent changes are more likely to be related. 2010-06-08 16:21:26 +00:00
Dwarf.cpp Add the entire range of DW_OP_lit[0..31], DW_OP_reg[0..31], and 2010-06-17 01:23:24 +00:00
ErrorHandling.cpp Some versions of gcc still warn about "ignoring return value ... declared 2010-09-16 08:20:49 +00:00
FileUtilities.cpp fpcmp: Fix bug where fpcmp wouldn't early exit when files obviously differ and 2010-06-15 19:20:30 +00:00
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 Rewrite MemoryBuffer::getSTDIN to use read(2) and a SmallVector buffer. 2010-06-25 16:07:18 +00:00
MemoryObject.cpp
PluginLoader.cpp
PrettyStackTrace.cpp Fix a couple of warnings. 2010-08-08 00:00:34 +00:00
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 Various MSVC warning fixes about truncated 64 bit shifts and const pointers passed to free. 2010-04-08 15:25:57 +00:00
regerror.c
regex2.h
regex_impl.h
Regex.cpp Don't pass StringRef by reference. 2010-07-14 22:38:02 +00:00
regexec.c Push const through the regex engine. Fixes some of the warnings in PR6616. 2010-04-05 17:50:20 +00:00
regfree.c
regstrlcpy.c
regutils.h
SmallPtrSet.cpp Rather than giving SmallPtrSetImpl a member field SmallArray which is magically 2010-06-30 15:02:37 +00:00
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 Fix refacto reported by Nicolas Geoffray. 2010-01-18 12:40:05 +00:00
StringMap.cpp
StringPool.cpp Don't pass StringRef by reference. 2010-07-14 22:38:02 +00:00
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 Roll back my last two commits, valgrind complains. 2010-08-07 13:27:41 +00:00
Triple.cpp Add better support for environment portion of triple. Original patch by 2010-09-16 08:25:48 +00:00
Twine.cpp Implement rdar://7415680 - Twine integer support lacks greatness 2010-05-05 18:40:33 +00:00