| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 129978
|
| |
|
|
| |
llvm-svn: 129976
|
| |
|
|
| |
llvm-svn: 129975
|
| |
|
|
|
|
| |
Patch by Patrick Walton!
llvm-svn: 129974
|
| |
|
|
| |
llvm-svn: 129973
|
| |
|
|
| |
llvm-svn: 129972
|
| |
|
|
|
|
|
|
|
|
|
| |
add <rd>, sp, #<imm8>
ldr <rd>, [sp, #<imm8>]
When the offset from sp is multiple of 4 and in range of 0-1020.
This saves code size by utilizing 16-bit instructions.
rdar://9321541
llvm-svn: 129971
|
| |
|
|
| |
llvm-svn: 129970
|
| |
|
|
|
|
| |
the first time through.
llvm-svn: 129969
|
| |
|
|
|
|
|
|
| |
Silences GCC warning.
I wonder why Clang doesn't warn on this...
llvm-svn: 129968
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An exception is thrown via a call to _cxa_throw, which we don't expect to
return. Therefore, the "true" part of the invoke goes to a BB that has
'unreachable' as its only instruction. This is lowered into an empty MachineBB.
The landing pad for this invoke, however, is directly after the "true" MBB.
When the empty MBB is removed, the landing pad is directly below the BB with the
invoke call. The unconditional branch is removed and then the two blocks are
merged together.
The testcase is too big for a regression test.
<rdar://problem/9305728>
llvm-svn: 129965
|
| |
|
|
|
|
|
| |
This is needed so the front-end can see "aligned" attributes on the type
for the pointer arguments. Radar 9311427.
llvm-svn: 129964
|
| |
|
|
|
|
| |
X8664_ELFTargetObjectFile::getFDEEncoding to match reality.
llvm-svn: 129959
|
| |
|
|
| |
llvm-svn: 129955
|
| |
|
|
| |
llvm-svn: 129953
|
| |
|
|
| |
llvm-svn: 129952
|
| |
|
|
| |
llvm-svn: 129947
|
| |
|
|
| |
llvm-svn: 129945
|
| |
|
|
| |
llvm-svn: 129938
|
| |
|
|
| |
llvm-svn: 129934
|
| |
|
|
| |
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
|
| |
|
|
|
|
|
| |
These values were not used for anything. Spill size and alignment is a property
of the register class, not the register.
llvm-svn: 129906
|
| |
|
|
|
|
|
| |
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: 129902
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<h[2-5]>. For now, it is applied in AliasAnalysis.html and ReleaseNotes.html.
<h2>Section Example</h2>
<div> <!-- h2+div is applied -->
<p>Section preamble.</p>
<h3>Subsection Example</h3>
<p> <!-- h3+p is applied -->
Subsection body
</p>
<!-- End of section body -->
</div>
llvm-svn: 129901
|
| |
|
|
| |
llvm-svn: 129900
|
| |
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 129875
|
| |
|
|
|
|
| |
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
|