| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 120820
|
|
|
|
| |
llvm-svn: 120819
|
|
|
|
| |
llvm-svn: 120818
|
|
|
|
| |
llvm-svn: 120817
|
|
|
|
| |
llvm-svn: 120816
|
|
|
|
|
|
| |
Try to fix building on the wayback machine.
llvm-svn: 120801
|
|
|
|
| |
llvm-svn: 120800
|
|
|
|
| |
llvm-svn: 120792
|
|
|
|
| |
llvm-svn: 120791
|
|
|
|
| |
llvm-svn: 120790
|
|
|
|
| |
llvm-svn: 120777
|
|
|
|
| |
llvm-svn: 120776
|
|
|
|
|
|
|
|
| |
toNullTerminatedStringRef
instead of toStringRef. The file system APIs need c strings.
llvm-svn: 120601
|
|
|
|
| |
llvm-svn: 120600
|
|
|
|
|
|
| |
file creation APIs aren't implemented.
llvm-svn: 120593
|
|
|
|
|
|
| |
setAllBits(), setBit(unsigned), etc.
llvm-svn: 120564
|
|
|
|
| |
llvm-svn: 120560
|
|
|
|
|
|
| |
has_{root_path,root_name,root_directory,parent_path,filename,stem,extension} implementation.
llvm-svn: 120559
|
|
|
|
| |
llvm-svn: 120550
|
|
|
|
| |
llvm-svn: 120547
|
|
|
|
| |
llvm-svn: 120546
|
|
|
|
| |
llvm-svn: 120539
|
|
|
|
|
|
| |
is fine since isn't really necessary to check isValid there anyway.
llvm-svn: 120538
|
|
|
|
| |
llvm-svn: 120514
|
|
|
|
| |
llvm-svn: 120513
|
|
|
|
| |
llvm-svn: 120496
|
|
|
|
| |
llvm-svn: 120495
|
|
|
|
| |
llvm-svn: 120413
|
|
|
|
| |
llvm-svn: 120329
|
|
|
|
|
|
|
|
| |
from LLVM forever:
grep -lR "llvm/System" * | grep -v .svn | xargs sed -ie 's#llvm/System#llvm/Support#g'
llvm-svn: 120314
|
|
|
|
| |
llvm-svn: 120301
|
|
|
|
| |
llvm-svn: 120298
|
|
|
|
|
|
| |
static methods that return a new APInt.
llvm-svn: 120261
|
|
|
|
| |
llvm-svn: 120223
|
|
|
|
| |
llvm-svn: 120200
|
|
|
|
| |
llvm-svn: 120166
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
file descriptor into a MemoryBuffer (and closes the FD).
llvm-svn: 120065
|
|
|
|
|
|
| |
documented and only used by some clang stuff I just removed.
llvm-svn: 120002
|
|
|
|
| |
llvm-svn: 119842
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This reverts r119772.
llvm-svn: 119773
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
were not hashing to the same value. Analysis
and patch by Frits van Bommel!
llvm-svn: 119770
|
|
|
|
| |
llvm-svn: 119708
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 118972
|
|
|
|
|
|
| |
on an early return.
llvm-svn: 118370
|
|
|
|
| |
llvm-svn: 118272
|
|
|
|
|
|
| |
Makes it more clear that it is just a path manipulation function.
llvm-svn: 118174
|