summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Revert "Add ADT/IntervalMap.", GCC doesn't like it.Jakob Stoklund Olesen2010-11-192-61/+0
| | | | | | This reverts r119772. llvm-svn: 119773
* 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: 119772
* Aligned and unaligned copies of the same stringDale Johannesen2010-11-191-7/+22
| | | | | | | were not hashing to the same value. Analysis and patch by Frits van Bommel! llvm-svn: 119770
* Bounds-check APInt's operator[].Dan Gohman2010-11-181-0/+1
| | | | llvm-svn: 119708
* now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate theChris Lattner2010-11-171-2/+1
| | | | | | | | cookie argument to the SourceMgr diagnostic stuff. This cleanly separates LLVMContext's inlineasm handler from the sourcemgr error handling definition, increasing type safety and cleaning things up. llvm-svn: 119486
* report_fatal_error: Simplify a possible ambiguity.Daniel Dunbar2010-11-131-0/+4
| | | | llvm-svn: 118972
* Fix memory leak in StringRef::edit_distance(). 'Allocated' could be leaked ↵Ted Kremenek2010-11-071-5/+6
| | | | | | on an early return. llvm-svn: 118370
* CrashRecoveryContext: Add RunSafelyOnThread helper function.Daniel Dunbar2010-11-051-0/+23
| | | | llvm-svn: 118272
* Rename FindExecutable to PrependMainExecutablePath.Mikhail Glushenkov2010-11-031-7/+8
| | | | | | Makes it more clear that it is just a path manipulation function. llvm-svn: 118174
OpenPOWER on IntegriCloud