summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support
Commit message (Collapse)AuthorAgeFilesLines
* Make several symbols static.Dan Gohman2008-04-102-23/+23
| | | | llvm-svn: 49496
* Fix compilation errors on MSVC. Patch by Argiris Kirtzidis!Bill Wendling2008-04-011-1/+2
| | | | llvm-svn: 49055
* Change the MemoryBuffer::getFile* methods to take just a pointer to theChris Lattner2008-04-012-17/+10
| | | | | | | | start of a filename, not a filename+length. All clients can produce a null terminated name, and the system api's require null terminated strings anyway. llvm-svn: 49041
* Reimplement MemoryBuffer::getFile with three enhancements:Chris Lattner2008-04-011-85/+64
| | | | | | | | | | | | | | | | | | | | | 1) stop using MappedFile. 2) if profitable use the sys::path::MapInFilePages api to read the file. 3) otherwise fallback to read. When sys::path::MapInFilePages is implemented, this provides several benefits: #1: this avoids fragmenting memory for small files. #2: this avoids extraneous stat calls when the file size is known. #3: this only keeps the file descriptor open while reading the file, not for the duration of the lifetime of the memory buffer. This fixes a serious clang FD 'leak' problem. I believe that this will work on a win32 machine, but I don't have one to test on. I'd appreciate it if someone could check. llvm-svn: 49031
* Remove the MappedFile::charBase member, rename base -> getBase() andChris Lattner2008-04-011-3/+4
| | | | | | make getBase() return a const-correct pointer. llvm-svn: 49025
* Change DiffFilesWithTolerance to be written in terms of MemoryBuffer,Chris Lattner2008-04-011-73/+56
| | | | | | | | not an mmapped file. This more closely matches its requirements and provides an implicitly null terminated buffer, something this routine had to emulate itself before. llvm-svn: 49024
* Remove MappedFile support for mapping files for write and execChris Lattner2008-04-012-3/+3
| | | | | | | and shared. This complicates the design, is not used, and probably doesn't even work. llvm-svn: 49022
* Add explicit keywords.Dan Gohman2008-03-251-1/+1
| | | | llvm-svn: 48801
* A quick nm audit turned up several fixed tables and objects that wereDan Gohman2008-03-252-2/+2
| | | | | | | marked read-write. Use const so that they can be allocated in a read-only segment. llvm-svn: 48800
* Add assert for non-hexadecimal radixes.Bill Wendling2008-03-161-0/+4
| | | | llvm-svn: 48421
* Fix a typo. It's causing consumer-typeset to miscompile. Perhaps more.Evan Cheng2008-03-071-1/+1
| | | | llvm-svn: 48035
* Add support to APInt for shift and rotate operations with APIntDan Gohman2008-02-291-0/+27
| | | | | | instead of uint32_t for the shift/rotate count operand type. llvm-svn: 47741
* Add a method to APFloat to convert directly from APInt.Dan Gohman2008-02-291-0/+17
| | | | llvm-svn: 47738
* Fix a bug that caused opt and other tools to silently ignoreDan Gohman2008-02-231-1/+1
| | | | | | invalid command-line options. llvm-svn: 47523
* Add explicit keywords.Dan Gohman2008-02-201-2/+2
| | | | llvm-svn: 47382
* Add 'sink' cmdline option. Patch by Mikhail Glushenkov!Anton Korobeynikov2008-02-201-6/+18
| | | | llvm-svn: 47377
* Unbreak build with gcc 4.3: provide missed includes and silence most ↵Anton Korobeynikov2008-02-205-0/+5
| | | | | | annoying warnings. llvm-svn: 47367
* Fixed bug in APInt::Profile() where the BitWidth field was not included in theTed Kremenek2008-02-191-0/+2
| | | | | | | profile of the APSInt object. This caused unexpected Profile collisions where none should have occurred. llvm-svn: 47338
* Fixed bug in FoldingSetIteratorImpl where we did not correctly check ifTed Kremenek2008-02-151-2/+4
| | | | | | | we had reached the "fake bucket" after the last bucket, allowing the iterator in some cases to run off the end of the hashtable. llvm-svn: 47178
* Fix a warning about comparison between signed and unsigned,Dan Gohman2008-02-141-1/+1
| | | | | | being consistent with the rest of the APInt implementation. llvm-svn: 47138
* Add countTrailingOnes member functions to APInt.Dan Gohman2008-02-131-0/+12
| | | | llvm-svn: 47086
* Added "Profile" method to APFloat for use with FoldingSet.Ted Kremenek2008-02-112-11/+6
| | | | | | | | | | Added member template "Add" to FoldingSetNodeID that allows "adding" arbitrary objects to a profile via dispatch to FoldingSetTrait<T>::Profile(). Removed FoldingSetNodeID::AddAPFloat and FoldingSetNodeID::APInt, as their functionality is now replaced using the above mentioned member template. llvm-svn: 46957
* Add support to FoldingSet for hashing APInt objects.Dan Gohman2008-02-061-0/+4
| | | | llvm-svn: 46833
* Added "bucket_iterators" to FoldingSet. Bucket iterators allow iterationTed Kremenek2008-02-041-1/+7
| | | | | | over all the nodes in a particular bucket. llvm-svn: 46716
* Fixed 80 col. violation.Ted Kremenek2008-02-041-2/+4
| | | | llvm-svn: 46709
* Chris' change to print an approximation to long doublesDale Johannesen2008-01-311-1/+2
| | | | | | | exposed a bug in APFloat's long double->double conversion of NaNs. Broke several things in the ieee part of gcc testsuite. llvm-svn: 46617
* Remove top-level const qualifiers from casts, avoiding associatedDan Gohman2008-01-291-10/+10
| | | | | | compiler warnings. llvm-svn: 46509
* Simplify the code and fix a typo.Lauro Ramos Venancio2008-01-281-7/+4
| | | | llvm-svn: 46458
* Fix fpcmp infinite loop when comparing "29-266" with "29-268".Lauro Ramos Venancio2008-01-281-5/+21
| | | | llvm-svn: 46455
* Added FoldingSet style 'profiling' support for APSInt.Ted Kremenek2008-01-191-0/+23
| | | | llvm-svn: 46189
* Added FoldingSet style 'profiling' support for APInt.Ted Kremenek2008-01-191-1/+13
| | | | llvm-svn: 46188
* Made 'FoldingSetNodeID' a proper class instead of a nested class inTed Kremenek2008-01-191-19/+19
| | | | | | | | | | 'FoldingSetNodeImpl' (previously 'FoldingSetNodeID' was a typedef of 'FoldingSetNodeImpl::NodeID'). Why? Clients can now easily forward declare 'FoldingSetNodeID' without having to include FoldingSet.h. llvm-svn: 46187
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-2925-50/+50
| | | | llvm-svn: 45418
* remove attribution from lib Makefiles.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45415
* Cygwin defines uint32_t as unsigned long. Unbreak call to std::min in this caseAnton Korobeynikov2007-12-241-1/+1
| | | | llvm-svn: 45342
* Don't have APInt.cpp depend upon DerivedTypes.h. This helps with splitting theReid Spencer2007-12-111-14/+23
| | | | | | Support libraries separately into their own module. llvm-svn: 44852
* proper #include order.Chris Lattner2007-12-081-1/+1
| | | | llvm-svn: 44707
* Adding a StringPool data structure, which GC will use.Gordon Henriksen2007-12-081-0/+35
| | | | llvm-svn: 44705
* Prior commit updated wrong if, apologies.Neil Booth2007-12-051-2/+2
| | | | llvm-svn: 44614
* Handle zero correctly.Neil Booth2007-12-051-3/+3
| | | | llvm-svn: 44613
* Handle 0 correctly in string->APFloat conversion.Dale Johannesen2007-12-051-1/+1
| | | | llvm-svn: 44594
* Fix PR1816, by correcting the broken definition of APInt::countTrailingZeros.Chris Lattner2007-11-231-1/+1
| | | | llvm-svn: 44296
* Fix APInt::countTrailingZeros to return BitWidth if the input is zero ↵Chris Lattner2007-11-231-2/+2
| | | | | | instead of returning some random large number. llvm-svn: 44294
* Fix the Linker testcase regressions, by making MemoryBuffer::getFileOrSTDIN ↵Chris Lattner2007-11-181-0/+18
| | | | | | | | return a valid but empty buffer if stdin is empty. llvm-svn: 44219
* Fix denormal check in float->APInt conversion.Dale Johannesen2007-11-171-1/+1
| | | | | | PR 1804. llvm-svn: 44201
* make smallptrset more const and type correct, which caught a fewChris Lattner2007-11-061-2/+2
| | | | | | minor bugs. llvm-svn: 43782
* Remove some unnecessary C-style statics.Neil Booth2007-11-021-6/+8
| | | | | | Restore an assertion that arithmetic can be performed on this format. llvm-svn: 43638
* Add back line whose removal somehow crept into prior patchNeil Booth2007-11-011-0/+1
| | | | llvm-svn: 43627
* When converting to integer, do bit manipulations in the destinationNeil Booth2007-11-011-71/+107
| | | | | | | | | | | memory rather than in a copy of the APFloat. This avoids problems when the destination is wider than our significand and is cleaner. Also provide deterministic values in all cases where conversion fails, namely zero for NaNs and the minimal or maximal value respectively for underflow or overflow. llvm-svn: 43626
* Clarified operator precedence.Hartmut Kaiser2007-10-251-2/+2
| | | | | | Silenced VC++ warning. llvm-svn: 43372
OpenPOWER on IntegriCloud