| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 118130
|
| |
|
|
| |
llvm-svn: 118088
|
| |
|
|
| |
llvm-svn: 118057
|
| |
|
|
|
|
|
| |
This makes the behaviour of FindExecutable more consistent across platforms, but
I'm not very happy with the name...
llvm-svn: 118049
|
| |
|
|
|
|
|
| |
messages primarily indicate errors running the viewer, not
errors with the graph file itself.
llvm-svn: 117665
|
| |
|
|
| |
llvm-svn: 117583
|
| |
|
|
|
|
| |
allowed edit distance
llvm-svn: 116867
|
| |
|
|
|
|
| |
setmode is provided by io.h on Cygwin.
llvm-svn: 116784
|
| |
|
|
|
|
|
| |
routine is off the stack. Otherwise we show up rather confusingly in the stack
trace.
llvm-svn: 116755
|
| |
|
|
| |
llvm-svn: 116682
|
| |
|
|
|
|
| |
unwanted end of line conversion on Windows. Should not affect Unix where O_BINARY is not defined. This fix /clang/test/lexer/preamble.c XFAIL on WIN32.
llvm-svn: 116509
|
| |
|
|
| |
llvm-svn: 116462
|
| |
|
|
|
|
|
|
|
| |
logic to use the new APInt methods. Among other things this
implements rdar://8501501 - llvm.smul.with.overflow.i32 should constant fold
which comes from "clang -ftrapv", originally brought to my attention from PR8221.
llvm-svn: 116457
|
| |
|
|
| |
llvm-svn: 116455
|
| |
|
|
|
|
| |
return an overflow flag.
llvm-svn: 116452
|
| |
|
|
| |
llvm-svn: 116003
|
| |
|
|
| |
llvm-svn: 115973
|
| |
|
|
|
|
|
| |
Graphviz program, print something with a newline, to avoid leaving
the line unfinished.
llvm-svn: 115620
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reduces the amount of malloc calls and may reduce memory overhead.
Some numbers:
ASTContext stats, clang -cc1 -disable-free -fsyntax-only Cocoa_h.m
without dynamic growth | with dynamic growth
Number of memory regions: 3158 | Number of memory regions: 432
Bytes used: 12333185 | Bytes used: 12333185
Bytes allocated: 12935168 | Bytes allocated: 12800000
Bytes wasted: 601983 (includes alignment, etc) | Bytes wasted: 466815 (includes alignment, etc)
ASTContext stats, clang -cc1 -disable-free -fsyntax-only on clang's ASTReader.cpp
without dynamic growth | with dynamic growth
Number of memory regions: 10987 | Number of memory regions: 551
Bytes used: 42910356 | Bytes used: 42910356
Bytes allocated: 45002752 | Bytes allocated: 44711936
Bytes wasted: 2092396 (includes alignment, etc) | Bytes wasted: 1801580 (includes alignment, etc)
llvm-svn: 115151
|
| |
|
|
| |
llvm-svn: 114999
|
| |
|
|
|
|
| |
also fixes PR8250.
llvm-svn: 114972
|
| |
|
|
| |
llvm-svn: 114847
|
| |
|
|
| |
llvm-svn: 114839
|
| |
|
|
| |
llvm-svn: 114832
|
| |
|
|
|
|
| |
Cameron Esfahani, tweaked to use array_lengthof.
llvm-svn: 114073
|
| |
|
|
|
|
| |
with attribute warn_unused_result" here - suppress the warning harder.
llvm-svn: 114072
|
| |
|
|
| |
llvm-svn: 113235
|
| |
|
|
|
|
| |
teach LazyValueInfo to use them.
llvm-svn: 113196
|