llvm/lib/VMCore
Chris Lattner fad86b003a Rework the routines that convert AP[S]Int into a string. Now, instead of
returning an std::string by value, it fills in a SmallString/SmallVector
passed in.  This significantly reduces string thrashing in some cases.

More specifically, this:
 - Adds an operator<< and a print method for APInt that allows you to 
   directly send them to an ostream.
 - Reimplements APInt::toString to be much simpler and more efficient
   algorithmically in addition to not thrashing strings quite as much.

This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the
asmprinter.  This also fixes a bug I introduced into the asmwriter in a
previous patch w.r.t. alias printing.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54873 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 07:19:36 +00:00
..
AsmWriter.cpp Rework the routines that convert AP[S]Int into a string. Now, instead of 2008-08-17 07:19:36 +00:00
AutoUpgrade.cpp Added support for overloading intrinsics (atomics) based on pointers 2008-07-30 04:36:53 +00:00
BasicBlock.cpp Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
ConstantFold.cpp Fix a case where vector comparison constant folding would cause an 2008-07-10 00:29:28 +00:00
ConstantFold.h Fix comment typos. 2008-08-01 12:23:49 +00:00
Constants.cpp Fix several const-correctness issues, resolving some -Wcast-qual warnings. 2008-08-05 14:45:15 +00:00
Core.cpp Delete a redundant binding, LLVMHasInitializer. 2008-08-09 02:13:58 +00:00
Dominators.cpp Move dominator info printer into tool/opt/GraphPrinters.cpp 2008-06-30 17:32:58 +00:00
Function.cpp Added support for overloading intrinsics (atomics) based on pointers 2008-07-30 04:36:53 +00:00
Globals.cpp eliminate calls to deprecated Use::init() interface 2008-05-26 21:33:52 +00:00
InlineAsm.cpp Fix PR2267, by allowing indirect outputs to be intermixed 2008-05-22 04:46:38 +00:00
Instruction.cpp Enable first-class aggregates support. 2008-07-23 00:34:11 +00:00
Instructions.cpp Improve support for vector casts in LLVM IR and CodeGen. 2008-08-14 20:04:46 +00:00
IntrinsicInst.cpp Revert my previous check-in that split up MachineModuleInfo. It turns out to 2008-07-03 22:53:42 +00:00
LeakDetector.cpp Have LeakDetector use a SmallPtrSet instead of an std::set. 2008-08-14 20:40:10 +00:00
Makefile Fix PR2062: Don't build Intrinsics.gen in the source directory. Do it in the 2008-03-25 09:12:48 +00:00
Mangler.cpp - Replace use of std::map<std::string, ..> with StringMap. Replace use of std::map with DenseMap, std::set with SmallPtrSet. This results in minor speed up. 2008-07-10 00:04:23 +00:00
Module.cpp simplify some code to avoid string thrashing. 2008-06-27 21:25:24 +00:00
ModuleProvider.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
ParameterAttributes.cpp Fix the AsmWriter to not print extra spaces after parameter attributes. 2008-08-05 15:51:44 +00:00
Pass.cpp Speed up the passmgr by avoiding heap thrashing on vectors. 2008-08-08 05:33:04 +00:00
PassManager.cpp The pass manager is not able to schedule -loop-deletion -loop-index-split. 2008-08-14 23:07:48 +00:00
SymbolTableListTraitsImpl.h Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
Type.cpp Inline the fastpath of PATypeHolder::get(). This is a small speedup in 2008-08-15 15:16:50 +00:00
TypeSymbolTable.cpp Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better. 2008-05-15 10:04:30 +00:00
Use.cpp Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better. 2008-05-15 10:04:30 +00:00
Value.cpp Rename instance variables, parameter argument names to eliminate a bunch of compilation warnings with -Wshadow. 2008-07-24 00:08:56 +00:00
ValueSymbolTable.cpp implement some fixme's by making "autorenaming" in the value symbol table not 2008-06-27 21:26:26 +00:00
ValueTypes.cpp Wrap MVT::ValueType in a struct to get type safety 2008-06-06 12:08:01 +00:00
Verifier.cpp Improve support for vector casts in LLVM IR and CodeGen. 2008-08-14 20:04:46 +00:00