summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support
Commit message (Collapse)AuthorAgeFilesLines
...
* Cleaner, more general exponent output.Neil Booth2007-10-061-21/+22
| | | | llvm-svn: 42690
* silence warnings in no-assert build.Chris Lattner2007-10-061-23/+20
| | | | llvm-svn: 42687
* Fix and clarify some comments.Neil Booth2007-10-061-12/+12
| | | | llvm-svn: 42670
* Generalize tcFullMultiply so that the operands can be of differingNeil Booth2007-10-062-16/+24
| | | | | | | | part widths. Also, return the number of parts actually required to hold the result's value. Remove an over-cautious condition from rounding of float->hex conversion. llvm-svn: 42669
* Add APFloat -> hexadecimal string conversion, as per %a and %A in C99.Neil Booth2007-10-031-3/+240
| | | | | | Useful for diagnostics and debugging. llvm-svn: 42598
* Add initial iterator support for folding set.Chris Lattner2007-10-031-0/+32
| | | | llvm-svn: 42589
* Simplify implementation of the FoldingSet circular list, a necessary stepChris Lattner2007-10-031-11/+20
| | | | | | to giving it iterators. llvm-svn: 42586
* Tweak RoundAwayFromZero the bit number below which is truncated, and makeNeil Booth2007-10-031-8/+13
| | | | | | | | it const. Preparation for APFloat -> hexadecimal string conversion. llvm-svn: 42576
* Simplify and fix signed int -> FP conversions.Dale Johannesen2007-09-301-11/+3
| | | | llvm-svn: 42483
* Whitespace and compiler warning cleanup.Neil Booth2007-09-261-76/+91
| | | | llvm-svn: 42373
* Make APFloat->int conversions deterministic even inDale Johannesen2007-09-251-5/+33
| | | | | | cases with undefined behavior. llvm-svn: 42328
* Fix long double<->shorter FP type conversionsDale Johannesen2007-09-251-12/+29
| | | | | | of zero, infinity, and NaNs. llvm-svn: 42298
* Handle storage complications of float->float conversions.Neil Booth2007-09-221-18/+23
| | | | llvm-svn: 42220
* Change APFloat::convertFromInteger to take the incomingDale Johannesen2007-09-212-17/+20
| | | | | | | | | | bit width instead of number of words allocated, which makes it actually work for int->APF conversions. Adjust callers. Add const to one of the APInt constructors to prevent surprising match when called with const argument. llvm-svn: 42210
* Fix PR 1688. See comments there.Dale Johannesen2007-09-201-13/+25
| | | | llvm-svn: 42181
* Do not hide APInt::dump() inside #ifndef NDEBUG.Devang Patel2007-09-171-4/+0
| | | | llvm-svn: 42068
* fix a gcc warning: comparison between signed and unsigned integer expressionsChris Lattner2007-09-141-1/+1
| | | | llvm-svn: 41972
* Remove the assumption that FP's are either float orDale Johannesen2007-09-142-1/+7
| | | | | | | | | | | | | double from some of the many places in the optimizers it appears, and do something reasonable with x86 long double. Make APInt::dump() public, remove newline, use it to dump ConstantSDNode's. Allow APFloats in FoldingSet. Expand X86 backend handling of long doubles (conversions to/from int, mostly). llvm-svn: 41967
* And an FoldingSetImpl::NodeID::AddInteger overload for int64_t, to avoidDan Gohman2007-09-141-0/+3
| | | | | | ambiguity. llvm-svn: 41960
* Remove spurious consts. This fixes warnings with compilers thatDan Gohman2007-09-141-2/+2
| | | | | | are strict about such things. llvm-svn: 41956
* Compensate for partCount change in Bogus definitionDale Johannesen2007-09-121-1/+1
| | | | | | (could break hash table in ConstantFP) llvm-svn: 41874
* Add APInt interfaces to APFloat (allows directlyDale Johannesen2007-09-111-15/+149
| | | | | | | | | access to bits). Use them in place of float and double interfaces where appropriate. First bits of x86 long double constants handling (untested, probably does not work). llvm-svn: 41858
* Smarter Reset(). Instead of deallocating all memory regions and reallocate theEvan Cheng2007-09-081-5/+17
| | | | | | first region, just deallocate all but the last region in the list. llvm-svn: 41782
* Added Reset() to free all allocated memory regions and reset state to be the ↵Evan Cheng2007-09-051-0/+6
| | | | | | same as right after ctor. llvm-svn: 41728
* Fix mod so it actually works. Fix conversions toDale Johannesen2007-09-051-9/+33
| | | | | | native types to handle denormals correctly. llvm-svn: 41726
* Oops, should be part of 41664; won't work very well without this piece.Dale Johannesen2007-08-311-0/+38
| | | | llvm-svn: 41665
* Enhance APFloat to retain bits of NaNs (fixes oggenc).Dale Johannesen2007-08-311-77/+76
| | | | | | | Use APFloat interfaces for more references, mostly of ConstantFPSDNode. llvm-svn: 41632
* Change LegalFPImmediates to use APFloat.Dale Johannesen2007-08-301-1/+1
| | | | | | | | | Add APFloat interfaces to ConstantFP, SelectionDAG. Fix integer bit in double->APFloat conversion. Convert LegalizeDAG to use APFloat interface in ConstantFPSDNode uses. llvm-svn: 41587
* Poison APFloat::operator==. Replace existing uses with bitwiseIsEqual.Dale Johannesen2007-08-241-1/+1
| | | | | | This means backing out the preceding change to Constants.cpp, alas. llvm-svn: 41378
* Revised per review feedback from previous patch.Dale Johannesen2007-08-241-36/+15
| | | | llvm-svn: 41353
* silence some warnings in an optimized build.Chris Lattner2007-08-241-11/+8
| | | | llvm-svn: 41352
* Change internal representation of ConstantFP to use APFloat.Dale Johannesen2007-08-241-1/+187
| | | | | | Interface to rest of the compiler unchanged, as yet. llvm-svn: 41348
* rename APInt::toString -> toStringUnsigned for symmetry with toStringSigned()Chris Lattner2007-08-231-2/+2
| | | | | | Add an APSInt::toString() method. llvm-svn: 41309
* initial checkin of Neil's APFloat work.Chris Lattner2007-08-202-10/+1518
| | | | llvm-svn: 41203
* This adds a bunch of static functions that implement unsignedChris Lattner2007-08-161-0/+566
| | | | | | | | | | | two's complement bignum arithmetic. They could be used to implement much of APInt, but the idea is they are enough to implement APFloat as well, which the current APInt interface is not suited for. Patch by Neil Booth! llvm-svn: 41124
* Properly use const qualifiersAnton Korobeynikov2007-08-151-1/+1
| | | | llvm-svn: 41111
* Make getSTDIN return null if the standard input is empty, as the header fileReid Spencer2007-08-081-2/+4
| | | | | | documentation implies and as its uses depend. llvm-svn: 40939
* Escape some escapes that confuse doxygen.Reid Spencer2007-08-051-1/+3
| | | | llvm-svn: 40850
* When clearing a SmallPtrSet, if the set had a huge capacity, but theChris Lattner2007-08-051-0/+18
| | | | | | | | | | contents of the set were small, deallocate and shrink the set. This avoids having us to memset as much data, significantly speeding up some pathological cases. For example, this speeds up the verifier from 0.3899s to 0.0763 (5.1x) on the testcase from PR1432 in a release build. llvm-svn: 40837
* Allow SmallPtrSet to hold pointers to const data.Owen Anderson2007-07-271-20/+20
| | | | llvm-svn: 40556
* Make the copy constructor of SmallPtrSet much faster.Owen Anderson2007-07-241-22/+12
| | | | llvm-svn: 40474
* Remember to free the heap allocated array if we're not going to use it.Owen Anderson2007-07-191-2/+4
| | | | llvm-svn: 40043
* Fix an issue where assignments that caused a SmallPtrSet to become non-smallOwen Anderson2007-07-181-4/+8
| | | | | | | would result in calling realloc() on a null pointer. Instead, if we encounter this situation, make a normal call to malloc(). llvm-svn: 40014
* Unbreak the build by putting calls to free into the implementation file andReid Spencer2007-07-171-0/+7
| | | | | | having that implementation file #include <cstdlib>. llvm-svn: 39952
* Use realloc() to (potentially) resize the contents of SmallPtrSet in place.Owen Anderson2007-07-161-10/+9
| | | | llvm-svn: 39926
* 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
* Make the assignment operator for SmallPtrSet much faster for normal cases.Owen Anderson2007-07-091-36/+21
| | | | llvm-svn: 38474
* Make the assignment operator for SmallPtrSet return a reference, and fix a ↵Owen Anderson2007-07-091-1/+1
| | | | | | | | | | long-standing bug in the copy ctor while I'm at it. Thanks to Chris Lattner for help with this patch. llvm-svn: 38470
* Fix an error in the assignment operator that was causing an infinite loop in ↵Owen Anderson2007-07-091-3/+11
| | | | | | | | GVNPRE.cpp. Patch by Chis Lattner. llvm-svn: 38467
OpenPOWER on IntegriCloud