| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 129945
|
| |
|
|
| |
llvm-svn: 129938
|
| |
|
|
| |
llvm-svn: 129932
|
| |
|
|
| |
llvm-svn: 129928
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These intervals are allocatable immediately after splitting, but they may be
evicted because of later splitting. This is rare, but when it happens they
should be split again.
The remainder intervals that cannot be allocated after splitting still move
directly to spilling.
SplitEditor::finish can optionally provide a mapping from new live intervals
back to the original interval indexes returned by openIntv().
Each original interval index can map to multiple new intervals after connected
components have been separated. Dead code elimination may also add existing
intervals to the list.
The reverse mapping allows the SplitEditor client to treat the new intervals
differently depending on the split region they came from.
llvm-svn: 129925
|
| |
|
|
|
|
| |
MC :-)
llvm-svn: 129923
|
| |
|
|
| |
llvm-svn: 129922
|
| |
|
|
| |
llvm-svn: 129921
|
| |
|
|
|
|
| |
which broke a couple GCC test suite tests at -O0.
llvm-svn: 129914
|
| |
|
|
| |
llvm-svn: 129913
|
| |
|
|
|
|
|
|
|
| |
This patch depends on the prior fix r129908 that changes to use std::find,
rather than std::binary_search, on unordered array.
Patch by Dan Bailey
llvm-svn: 129909
|
| |
|
|
|
|
| |
std::binary_search
llvm-svn: 129908
|
| |
|
|
|
|
|
| |
necessary since gcov counts transitions between blocks. It can't see if you've
run every line in a straight-line function, so we add an edge for it to notice.
llvm-svn: 129905
|
| |
|
|
|
|
| |
comment for 80 columns.
llvm-svn: 129904
|
| |
|
|
|
|
|
| |
instrument the program to emit .gcda.
TODO: we should emit slightly different .gcda files when .gcno emission is off.
llvm-svn: 129903
|
| |
|
|
| |
llvm-svn: 129888
|
| |
|
|
| |
llvm-svn: 129884
|
| |
|
|
| |
llvm-svn: 129883
|
| |
|
|
|
|
|
|
| |
TII::isTriviallyReMaterializable() shouldn't depend on any properties of the
register being defined by the instruction. Rematerialization is going to create
a new virtual register anyway.
llvm-svn: 129882
|
| |
|
|
|
|
|
| |
generated by llvm-gcc, since llvm-gcc uses 2 i64s for passing a 4 x float
vector on ARM rather than an i64 array like Clang.
llvm-svn: 129878
|
| |
|
|
|
|
| |
delete it.
llvm-svn: 129877
|
| |
|
|
|
|
| |
more cases.
llvm-svn: 129876
|
| |
|
|
|
|
| |
http://google1.osuosl.org:8011/builders/llvm-x86_64-linux-checks/builds/825/steps/test.llvm.stage2/logs/st.ll
llvm-svn: 129869
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
On the x86-64 and thumb2 targets, some registers are more expensive to encode
than others in the same register class.
Add a CostPerUse field to the TableGen register description, and make it
available from TRI->getCostPerUse. This represents the cost of a REX prefix or a
32-bit instruction encoding required by choosing a high register.
Teach the greedy register allocator to prefer cheap registers for busy live
ranges (as indicated by spill weight).
llvm-svn: 129864
|
| |
|
|
| |
llvm-svn: 129862
|
| |
|
|
|
|
| |
<rdar://problem/7662569>
llvm-svn: 129858
|
| |
|
|
| |
llvm-svn: 129852
|
| |
|
|
|
|
|
|
|
|
| |
used by Clang. To help Clang integration, the PTX target has been split
into two targets: ptx32 and ptx64, depending on the desired pointer size.
- Add GCCBuiltin class to all intrinsics
- Split PTX target into ptx32 and ptx64
llvm-svn: 129851
|
| |
|
|
| |
llvm-svn: 129850
|
| |
|
|
|
|
| |
Patched by Dan Bailey
llvm-svn: 129848
|
| |
|
|
|
|
| |
Patched by Dan Bailey
llvm-svn: 129847
|
| |
|
|
|
|
| |
Patched by Dan Bailey
llvm-svn: 129846
|
| |
|
|
|
|
|
|
| |
llvm is built with unsigned chars where an immediate such as 0xff would be zero
extended to 64-bits, turning "cmp $0xff,%eax" into
"cmp $0xffffffffffffffff,%eax".
llvm-svn: 129845
|
| |
|
|
| |
llvm-svn: 129844
|
| |
|
|
|
|
|
|
|
| |
manually and pass all (now) 4 arguments to the mul libcall. Add a new
ExpandLibCall for just this (copied gratuitously from type legalization).
Fixes rdar://9292577
llvm-svn: 129842
|
| |
|
|
|
|
|
|
| |
MCInst operands for ARM. This allows it to be
more tolerant of malformed MCInsts or incorrect
instruction metadata.
llvm-svn: 129840
|
| |
|
|
|
|
| |
triple component.
llvm-svn: 129838
|
| |
|
|
| |
llvm-svn: 129837
|
| |
|
|
|
|
| |
instead.
llvm-svn: 129836
|
| |
|
|
|
|
| |
Triple::OSX once Clang has moved.
llvm-svn: 129833
|
| |
|
|
|
|
| |
predicates.
llvm-svn: 129816
|
| |
|
|
| |
llvm-svn: 129815
|
| |
|
|
|
|
| |
enumeration values.
llvm-svn: 129814
|
| |
|
|
| |
llvm-svn: 129813
|
| |
|
|
| |
llvm-svn: 129812
|
| |
|
|
| |
llvm-svn: 129811
|
| |
|
|
| |
llvm-svn: 129810
|
| |
|
|
| |
llvm-svn: 129809
|
| |
|
|
| |
llvm-svn: 129803
|
| |
|
|
|
|
|
|
|
| |
- There is a minor semantic change here (evidenced by the test change) for
Darwin triples that have no version component. I debated changing the default
behavior of isOSVersionLT, but decided it made more sense for triples to be
explicit.
llvm-svn: 129802
|