summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support
Commit message (Collapse)AuthorAgeFilesLines
...
* Support/PathV2: Remove redundant calls to make_error_code.Michael J. Spencer2010-12-043-102/+101
| | | | llvm-svn: 120913
* APInt: microoptimize a few methods.Benjamin Kramer2010-12-041-4/+0
| | | | llvm-svn: 120912
* Support/FileSystem: Add status implementation.Michael J. Spencer2010-12-043-0/+82
| | | | llvm-svn: 120870
* Support/Windows/FileSystem: Fix MinGW warnings.Michael J. Spencer2010-12-041-6/+6
| | | | llvm-svn: 120868
* Support/FileSystem: Add file_size implementation.Michael J. Spencer2010-12-042-0/+35
| | | | llvm-svn: 120867
* Add IntervalMap::iterator::set{Start,Stop,Value} methods that allow limitedJakob Stoklund Olesen2010-12-031-3/+3
| | | | | | | | | | | editing of the current interval. These methods may cause coalescing, there are corresponding set*Unchecked methods for editing without coalescing. The non-coalescing methods are useful for applying monotonic transforms to all keys or values in a map without accidentally coalescing transformed and untransformed intervals. llvm-svn: 120829
* Support/FileSystem: Add equivalent implementation.Michael J. Spencer2010-12-032-0/+90
| | | | llvm-svn: 120827
* Support/FileSystem: Fix MinGW build. It doesn't have _chsize_s.Michael J. Spencer2010-12-031-0/+4
| | | | llvm-svn: 120826
* And I really hate line endings.Michael J. Spencer2010-12-031-3/+3
| | | | llvm-svn: 120821
* Support/Windows/FileSystem: Fix MinGW build.Michael J. Spencer2010-12-031-0/+6
| | | | llvm-svn: 120820
* Support/FileSystem: Add resize_file implementation.Michael J. Spencer2010-12-032-0/+29
| | | | llvm-svn: 120819
* Support/FileSystem: Add rename implementation.Michael J. Spencer2010-12-032-0/+32
| | | | llvm-svn: 120818
* Support/FileSystem: Add remove implementation.Michael J. Spencer2010-12-032-0/+33
| | | | llvm-svn: 120817
* Fix line endings.Michael J. Spencer2010-12-031-6/+6
| | | | llvm-svn: 120816
* Apparently OS X 10.4 doesn't have __crashreporter_info__.Eric Christopher2010-12-031-5/+5
| | | | | | Try to fix building on the wayback machine. llvm-svn: 120801
* Support/FileSystem: Add create_symlink implementation.Michael J. Spencer2010-12-032-0/+45
| | | | llvm-svn: 120800
* Support/FileSystem: Add create_hard_link implementation.Michael J. Spencer2010-12-032-0/+32
| | | | llvm-svn: 120792
* Support/ADT/Twine: Make toNullTerminatedStringRef not rely on UB :(.Michael J. Spencer2010-12-031-4/+12
| | | | llvm-svn: 120791
* Support/FileSystem: Add create_director{y,ies} implementations.Michael J. Spencer2010-12-033-0/+49
| | | | llvm-svn: 120790
* Support/Windows/FileSystem: Remove unneeded toNullTerminatedStringRef.Michael J. Spencer2010-12-031-2/+2
| | | | llvm-svn: 120777
* Support/FileSystem: Add unique_file and exists implementations.Michael J. Spencer2010-12-033-2/+334
| | | | llvm-svn: 120776
* Support/FileSystem: Fix copy_file implementation to use ↵Michael J. Spencer2010-12-012-4/+4
| | | | | | | | toNullTerminatedStringRef instead of toStringRef. The file system APIs need c strings. llvm-svn: 120601
* Support/ADT/Twine: Add toNullTerminatedStringRef.Michael J. Spencer2010-12-011-0/+12
| | | | llvm-svn: 120600
* Support/FileSystem: Add copy_file implementation. Not tests yet because theMichael J. Spencer2010-12-013-3/+157
| | | | | | file creation APIs aren't implemented. llvm-svn: 120593
* PR5207: Rename overloaded APInt methods set(), clear(), flip() toJay Foad2010-12-011-13/+13
| | | | | | setAllBits(), setBit(unsigned), etc. llvm-svn: 120564
* Support/PathV2: Add is_{absolute,relative} implementation.Michael J. Spencer2010-12-011-0/+24
| | | | llvm-svn: 120560
* Support/PathV2: Add ↵Michael J. Spencer2010-12-011-18/+70
| | | | | | has_{root_path,root_name,root_directory,parent_path,filename,stem,extension} implementation. llvm-svn: 120559
* Support/PathV2: Add extension implementation.Michael J. Spencer2010-12-011-0/+16
| | | | llvm-svn: 120550
* Support/PathV2: Add stem implementation.Michael J. Spencer2010-12-011-0/+16
| | | | llvm-svn: 120547
* Support/PathV2: Add filename implementation.Michael J. Spencer2010-12-011-0/+5
| | | | llvm-svn: 120546
* Support/PathV2: Add native implementation.Michael J. Spencer2010-12-011-0/+22
| | | | llvm-svn: 120539
* Delete Path::appendSuffix's return value; it wasn't used anywhere, whichDan Gohman2010-12-011-8/+1
| | | | | | is fine since isn't really necessary to check isValid there anyway. llvm-svn: 120538
* Support/PathV2: Add replace_extension implementation.Michael J. Spencer2010-12-011-0/+20
| | | | llvm-svn: 120514
* Support/PathV2: Add remove_filename implementation.Michael J. Spencer2010-12-011-0/+8
| | | | llvm-svn: 120513
* Support/PathV2: Implement reverse iteration and parent_path.Michael J. Spencer2010-11-301-8/+115
| | | | llvm-svn: 120496
* Support/ADT/StringRef: Add find_last_of.Michael J. Spencer2010-11-301-0/+15
| | | | llvm-svn: 120495
* PR5207: Make APInt::set(), APInt::clear() and APInt::flip() return void.Jay Foad2010-11-301-6/+3
| | | | llvm-svn: 120413
* Support: Add PathV2 implementation.Michael J. Spencer2010-11-294-0/+522
| | | | llvm-svn: 120329
* Now to chant the magical incantation that will exorcise the System libraryCharles Davis2010-11-2916-16/+16
| | | | | | | | from LLVM forever: grep -lR "llvm/System" * | grep -v .svn | xargs sed -ie 's#llvm/System#llvm/Support#g' llvm-svn: 120314
* Missed a spot.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120301
* Merge System into Support.Michael J. Spencer2010-11-2969-36/+7414
| | | | llvm-svn: 120298
* PR5207: change APInt::doubleToBits() and APInt::floatToBits() to beJay Foad2010-11-281-4/+2
| | | | | | static methods that return a new APInt. llvm-svn: 120261
* Remove PIC16 remnants.Benjamin Kramer2010-11-271-5/+0
| | | | llvm-svn: 120223
* raw_ostream::write_escaped: Add a UseHexEscapes argument.Daniel Dunbar2010-11-271-6/+15
| | | | llvm-svn: 120200
* Fix Whitespace.Michael J. Spencer2010-11-262-27/+27
| | | | llvm-svn: 120166
* Move tree navigation to a new Path class that doesn't have to be a template.Jakob Stoklund Olesen2010-11-261-1/+102
| | | | | | | | The path also holds a reference to the root node, and that allows important iterator accessors like start() and stop() to have no conditional code. (When the compiler is clever enough to remove it.) llvm-svn: 120165
* add a MemoryBuffer::getOpenFile method, which turns an openChris Lattner2010-11-231-0/+7
| | | | | | file descriptor into a MemoryBuffer (and closes the FD). llvm-svn: 120065
* Revert functionality doug added in r98575 that was neverChris Lattner2010-11-231-15/+11
| | | | | | documented and only used by some clang stuff I just removed. llvm-svn: 120002
* Fix a use after free. Patch by Frits van Bommel.Rafael Espindola2010-11-191-6/+9
| | | | llvm-svn: 119842
* Add ADT/IntervalMap.Jakob Stoklund Olesen2010-11-192-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a sorted interval map data structure for small keys and values with automatic coalescing and bidirectional iteration over coalesced intervals. Except for coalescing intervals, it provides similar functionality to std::map. It is however much more compact for small keys and values, and hopefully faster too. The container object itself can hold the first few intervals without any allocations, then it switches to a cache conscious B+-tree representation. A recycling allocator can be shared between many containers, even between containers holding different types. The IntervalMap is initially intended to be used with SlotIndex intervals for: - Backing store for LiveIntervalUnion that is smaller and faster than std::set. - Backing store for LiveInterval with less overhead than std::vector for typical intervals and O(N log N) merging of large intervals. 99% of virtual registers need 4 entries or less and would benefit from the small object optimization. - Backing store for LiveDebugVariable which doesn't exist yet, but will track debug variables during register allocation. This is a work in progress. Missing items are: - Performance metrics. - erase(). - insert() shrinkage. - clear(). - More performance metrics. - Simplification and detemplatization. llvm-svn: 119787
OpenPOWER on IntegriCloud