summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/ConstantRange.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Switch the asmprinter (.ll) and all the stuff it requires over toChris Lattner2008-08-231-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Rework the routines that convert AP[S]Int into a string. Now, instead ofChris Lattner2008-08-171-2/+1
| | | | | | | | | | | | | | | | | 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
* Tidy up whitespace in ConstantRange::print output.Dan Gohman2008-05-271-1/+1
| | | | llvm-svn: 51606
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Clarify the language. Pointed out by Duncan Sands.Nick Lewycky2007-07-141-2/+4
| | | | llvm-svn: 39857
* Add alternate ConstantRange intersection algorithm.Nick Lewycky2007-07-141-0/+81
| | | | llvm-svn: 39851
* Fix edge case.Nick Lewycky2007-06-091-2/+2
| | | | llvm-svn: 37532
* Using APInt more efficiently.Zhou Sheng2007-04-261-5/+3
| | | | llvm-svn: 36475
* Make the apint construction more effective.Zhou Sheng2007-04-131-3/+3
| | | | llvm-svn: 35960
* Add signExtend to ConstantRange, to complement zeroExtend and truncate.Nick Lewycky2007-04-071-0/+17
| | | | llvm-svn: 35733
* Implement union of wrapped sets.Nick Lewycky2007-04-011-7/+65
| | | | llvm-svn: 35534
* Add getter methods for the extremes of a ConstantRange.Nick Lewycky2007-03-101-0/+64
| | | | llvm-svn: 35056
* Implement unionWith.Nick Lewycky2007-03-021-2/+11
| | | | llvm-svn: 34833
* Remove the "isSigned" parameters from ConstantRange. It turns out theyReid Spencer2007-03-011-37/+23
| | | | | | | | are not needed as the results are the same with or without it. Patch by Nicholas Lewycky. llvm-svn: 34782
* Move ConstantRange class to lib/Support from lib/Analysis and make itsReid Spencer2007-02-281-0/+259
| | | | | | interface not depend on Type or ICmpInst. llvm-svn: 34761
* Move these files (which are dependent on VMCore) into VMCoreMisha Brukman2004-08-161-332/+0
| | | | llvm-svn: 15825
* Bug fixes for PR341Chris Lattner2004-07-151-1/+1
| | | | llvm-svn: 14838
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-041-0/+2
| | | | llvm-svn: 14622
* Add some new methodsChris Lattner2004-03-301-15/+87
| | | | llvm-svn: 12539
* Adjust to new itfChris Lattner2004-03-291-2/+2
| | | | llvm-svn: 12534
* Remove use of ConstantHandling itfChris Lattner2004-01-121-24/+31
| | | | llvm-svn: 10800
* Finegrainify namespacificationChris Lattner2003-12-141-4/+1
| | | | llvm-svn: 10464
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Simplify code by using ConstantInt::getRawValue instead of checking to seeChris Lattner2003-07-231-4/+1
| | | | | | whether the constant is signed or unsigned, then casting llvm-svn: 7252
* Minor bug fix.Chris Lattner2002-09-031-2/+2
| | | | llvm-svn: 3577
* Fix bugsChris Lattner2002-09-021-14/+21
| | | | llvm-svn: 3569
* Add printing support to ConstantRange classChris Lattner2002-09-021-0/+12
| | | | llvm-svn: 3565
* Initial implementation of ConstantRange supportChris Lattner2002-09-011-0/+227
llvm-svn: 3563
OpenPOWER on IntegriCloud