summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support
Commit message (Collapse)AuthorAgeFilesLines
* Initial support for the CMake build system.Oscar Fuentes2008-09-221-0/+29
| | | | llvm-svn: 56419
* Updating VC++ project.Cedric Venet2008-08-241-0/+1
| | | | | | Adding one include file and correct one declaration from class to struct in order to make llvm compile on VC2005. llvm-svn: 55279
* Add raw_stream adaptors that write into an std::string and ↵Chris Lattner2008-08-231-0/+35
| | | | | | SmallVector/SmallString. llvm-svn: 55265
* Switch the asmprinter (.ll) and all the stuff it requires over toChris Lattner2008-08-233-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | use raw_ostream instead of std::ostream. Among other goodness, this speeds up llvm-dis of kc++ with a release build from 0.85s to 0.49s (88% faster). Other interesting changes: 1) This makes Value::print be non-virtual. 2) AP[S]Int and ConstantRange can no longer print to ostream directly, use raw_ostream instead. 3) This fixes a bug in raw_os_ostream where it didn't flush itself when destroyed. 4) This adds a new SDNode::print method, instead of only allowing "dump". A lot of APIs have both std::ostream and raw_ostream versions, it would be useful to go through and systematically anihilate the std::ostream versions. This passes dejagnu, but there may be minor fallout, plz let me know if so and I'll fix it. llvm-svn: 55263
* add #includeChris Lattner2008-08-231-0/+1
| | | | llvm-svn: 55252
* add a simple mechanism for formatted output. This gives raw_ostream's Chris Lattner2008-08-231-0/+50
| | | | | | | | all the power and risk of fprintf format strings. Use them like this: OS << format("%10.4f", 42.0) << "\n" << format("%x", 42) << '\n'; llvm-svn: 55246
* Add a clear() method to FoldingSet.Dan Gohman2008-08-231-12/+13
| | | | llvm-svn: 55210
* improve support for systems that need unistd.h to get STDOUT_FILENO.Chris Lattner2008-08-221-2/+10
| | | | | | Patch contributed by Bjorn Reese! llvm-svn: 55179
* Fix write() when the string being written is larger than the buffer. This ↵Owen Anderson2008-08-211-0/+1
| | | | | | | | broke various ObjC testcases with very long symbol names. llvm-svn: 55148
* Move non-trivial methods out of line to avoid code-size bloat.Owen Anderson2008-08-211-0/+92
| | | | llvm-svn: 55138
* Use raw_ostream throughout the AsmPrinter.Owen Anderson2008-08-211-11/+11
| | | | llvm-svn: 55092
* Move the fast-path (<=i64) cases of various APInt methods inlineChris Lattner2008-08-201-150/+40
| | | | | | | and the slow-path cases out of line. This speeds up instcombine a bit in real world cases. Patch contributed by m-s. llvm-svn: 55063
* It's not necessary to check if a value is null before delete[].Dan Gohman2008-08-201-1/+1
| | | | llvm-svn: 55053
* Get raw_ostream.cpp to compile on MSVC.Argyrios Kyrtzidis2008-08-171-5/+11
| | | | llvm-svn: 54879
* Rework the routines that convert AP[S]Int into a string. Now, instead ofChris Lattner2008-08-173-99/+100
| | | | | | | | | | | | | | | | | 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. llvm-svn: 54873
* remove a dead APInt ctor.Chris Lattner2008-08-172-8/+2
| | | | llvm-svn: 54869
* add support for a cout/cerr analog (outs()/errs()) as well asChris Lattner2008-08-171-0/+31
| | | | | | | a simple adaptor class to give raw output capabilities to something that wants to write to an ostream. llvm-svn: 54865
* opening "-" automatically yields stdout.Chris Lattner2008-08-171-0/+7
| | | | llvm-svn: 54863
* rename OutputData to 'write' to match ostream.Chris Lattner2008-08-171-1/+1
| | | | llvm-svn: 54857
* add a new raw_ostream class which is an extremely high performance ostream thatChris Lattner2008-08-171-0/+64
| | | | | | | | can *only* output data (no seeking, reading, etc). This is adapted from the clang "-E outputter", and is roughly 10% faster than stdio on darwin and 30% (or more) faster than std::ostream. llvm-svn: 54855
* Avoid repeatedly reallocating the FoldingSetNodeID when searchingDan Gohman2008-08-121-2/+4
| | | | | | through multiple nodes in a bucket. llvm-svn: 54687
* Fix several const-correctness issues, resolving some -Wcast-qual warnings.Dan Gohman2008-08-051-2/+2
| | | | llvm-svn: 54349
* Fold the useful features of alist and alist_node into ilist, andDan Gohman2008-07-281-2/+4
| | | | | | | | | | | | | | | | a new ilist_node class, and remove them. Unlike alist_node, ilist_node doesn't attempt to manage storage itself, so it avoids the associated problems, including being opaque in gdb. Adjust the Recycler class so that it doesn't depend on alist_node. Also, change it to use explicit Size and Align parameters, allowing it to work when the largest-sized node doesn't have the greatest alignment requirement. Change MachineInstr's MachineMemOperand list from a pool-backed alist to a std::list for now. llvm-svn: 54146
* Fix PR2088. Use modulo linear equation solver to compute loop iterationWojciech Matyjewicz2008-07-201-1/+1
| | | | | | count. llvm-svn: 53810
* Reapply 53476 and 53480, with a fix so that it properly updatesDan Gohman2008-07-141-2/+34
| | | | | | | the BB member to the current basic block after emitting instructions. llvm-svn: 53567
* Back out 53476 and 53480 for now. Somehow they cause llc to miscompile 179.art.Evan Cheng2008-07-121-34/+2
| | | | llvm-svn: 53502
* Add support for putting NamedRegionTimers in TimerGroups, andDan Gohman2008-07-111-2/+34
| | | | | | | | use a timer group for the timers in SelectionDAGISel. Also, Split scheduling out from emitting, to give each their own timer. llvm-svn: 53476
* Use find instead of lower_bound.Dan Gohman2008-07-111-2/+2
| | | | llvm-svn: 53474
* Add some basic Pool-allocation infrastructure. This adds a Recycler class,Dan Gohman2008-07-071-0/+7
| | | | | | | | for handling bookkeeping for deleted objects, as well as the alist class template, for keeping lists of objects allocated from Recyclers, and some related utilities. llvm-svn: 53210
* Add a version of AddString that takes a const char* so we can avoid extraneousOwen Anderson2008-07-011-0/+38
| | | | | | conversions to std::string. llvm-svn: 52995
* Append to the ActiveTimers std::vector before looking at the timer insteadDan Gohman2008-06-241-1/+1
| | | | | | | | of after, so that any reallocation it does doesn't get counted for the pass being timed. This probably doesn't account for a timing discrepancy I was looking into, but I'm fixing it anyway. llvm-svn: 52693
* First step to fix PR2088. Implement routine to compute the Wojciech Matyjewicz2008-06-231-7/+48
| | | | | | | | multiplicative inverse of a given number. Modify udivrem to allow input and output pairs of arguments to overlap. Patch is based on the work by Chandler Carruth. llvm-svn: 52638
* Avoid creating a redundant zero APInt.Dan Gohman2008-06-211-1/+1
| | | | llvm-svn: 52602
* Consistently set "Buckets[NumBuckets] = reinterpret_cast<void*>(-1)" ↵Ted Kremenek2008-06-171-1/+1
| | | | | | throughout FoldingSet.cpp. llvm-svn: 52425
* As comments said, for negative value, the arithmetic Zhou Sheng2008-06-051-1/+1
| | | | | | | | | over-shift-right should return -1. So here it should be signed-extended, when bitwidth larger than 64. test case: llvm/test/ExecutionEngine/2008-06-05-APInt-OverAShr.ll llvm-svn: 51999
* Give a proper error message when a command line option is defined more thanMatthijs Kooijman2008-05-301-1/+1
| | | | | | | once (ie, at two different places in the source, not two times on the commandline). llvm-svn: 51771
* Remove more iostream header includes. Needed to implement a "FlushStream"Bill Wendling2008-05-291-0/+9
| | | | | | function to flush a specified std::ostream. llvm-svn: 51705
* Tidy up whitespace in ConstantRange::print output.Dan Gohman2008-05-271-1/+1
| | | | llvm-svn: 51606
* Don't assume underlying APInt type is limitedDale Johannesen2008-05-141-1/+1
| | | | | | to 64 bits. llvm-svn: 51135
* Remove undefined behavior in hex string->APFloatDale Johannesen2008-05-141-1/+1
| | | | | | conversion. Try 0x1.0000a4p+0f. Neil, please review. llvm-svn: 51132
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-0/+4
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Make firstEightPowers const.Dan Gohman2008-05-121-2/+2
| | | | llvm-svn: 50975
* Remove uses of llvm/System/IncludeFile.h that are no longer needed.Dan Gohman2008-05-061-3/+0
| | | | llvm-svn: 50695
* Fix more -Wshorten-64-to-32 warnings.Evan Cheng2008-05-057-40/+42
| | | | llvm-svn: 50659
* Suppress -Wshorten-64-to-32 warnings for 64-bit hosts.Evan Cheng2008-05-022-43/+46
| | | | llvm-svn: 50590
* fcntl.h is pretty standard on unix (without the sys/)Gabor Greif2008-04-301-2/+1
| | | | llvm-svn: 50475
* Fix a pointer-arithmetic bug that caused 64-bit host pointer values toDan Gohman2008-04-281-1/+1
| | | | | | | be truncated to 32 bits. This fixes the recent Benchmarks/McCat/09-vor regression on x86-64, among other things. llvm-svn: 50372
* Bug fix in BumpPtrAllocator: don't assume that all objects have the same ↵Ted Kremenek2008-04-281-6/+9
| | | | | | alignment. "Bump" of the pointer for the next allocated object to be of the specified alignment. llvm-svn: 50362
* Add support for response files to the CommandLine library.Mikhail Glushenkov2008-04-281-23/+79
| | | | llvm-svn: 50355
* Make these variables static.Dan Gohman2008-04-232-6/+6
| | | | llvm-svn: 50196
OpenPOWER on IntegriCloud