| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
SmallVectors.
llvm-svn: 127388
|
| |
|
|
| |
llvm-svn: 127383
|
| |
|
|
| |
llvm-svn: 127382
|
| |
|
|
|
|
|
|
|
|
|
|
| |
treating debugging information.
It generates output that lools like
8 times line number info lost by Scalar Replacement of Aggregates (SSAUp)
1 times line number info lost by Simplify well-known library calls
12 times variable info lost by Jump Threading
llvm-svn: 127381
|
| |
|
|
| |
llvm-svn: 127380
|
| |
|
|
| |
llvm-svn: 127376
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
flexible.
If it returns a register class that's different from the input, then that's the
register class used for cross-register class copies.
If it returns a register class that's the same as the input, then no cross-
register class copies are needed (normal copies would do).
If it returns null, then it's not at all possible to copy registers of the
specified register class.
llvm-svn: 127368
|
| |
|
|
| |
llvm-svn: 127365
|
| |
|
|
| |
llvm-svn: 127362
|
| |
|
|
| |
llvm-svn: 127359
|
| |
|
|
|
|
|
|
|
| |
The insufficient encoding information of the combined instruction confuses the decoder wrt
UQADD16. Add extra logic to recover from that.
Fixed an assert reported by Sean Callanan
llvm-svn: 127354
|
| |
|
|
|
|
| |
command line, they'll still be seen with -help-hidden.
llvm-svn: 127353
|
| |
|
|
| |
llvm-svn: 127352
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
register.
The damage done by physreg coalescing only depends on the number of instructions
the extended physreg live range covers. This fixes PR9438.
The heuristic is still luck-based, and physreg coalescing really should be
disabled completely. We need a register allocator with better hinting support
before that is possible.
Convert a test to FileCheck and force spilling by inserting an extra call. The
previous spilling behavior was dependent on misguided physreg coalescing
decisions.
llvm-svn: 127351
|
| |
|
|
| |
llvm-svn: 127349
|
| |
|
|
|
|
| |
This helps cases like 2008-07-19-movups-spills.ll, but doesn't have an obvious impact on benchmarks
llvm-svn: 127347
|
| |
|
|
|
|
| |
construction of non-standard ELFObjectWriters that can be used in MCJIT.
llvm-svn: 127346
|
| |
|
|
|
|
| |
MCAssembler * argument.
llvm-svn: 127343
|
| |
|
|
|
|
|
|
| |
When ExactBECount is a constant, use it for MaxBECount.
When MaxBECount cannot be computed, replace it with ExactBECount.
Fixes PR9424.
llvm-svn: 127342
|
| |
|
|
| |
llvm-svn: 127340
|
| |
|
|
| |
llvm-svn: 127335
|
| |
|
|
| |
llvm-svn: 127331
|
| |
|
|
|
|
| |
of fixed args > 4.
llvm-svn: 127328
|
| |
|
|
|
|
| |
Thanks Duncan Sands!
llvm-svn: 127323
|
| |
|
|
|
|
|
| |
alloca as both integer and floating-point vectors of the same size. Bugpoint is
not cooperating with me, but I'll try to find a manual testcase tomorrow.
llvm-svn: 127320
|
| |
|
|
|
|
|
|
|
| |
gave up when I realized I couldn't come up with a good name for what the
refactored function would be, to describe what it does.
This is PR9343 test12, which is test3 with arguments reordered. Whoops!
llvm-svn: 127318
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a union of a float, <2 x float>, and <4 x float>. This mostly comes up with the
use of vector intrinsics, especially in NEON when programmers know the layout of
the register file. This enables codegen to eliminate a lot of the subregister
traffic it would otherwise generate.
This commit only enables this for a small number of floating-point cases, but a
lot more integer cases. I assume this is okay for all ports, but I did not do
extensive testing of the quality of code involving i512 vectors and the like. If
there is a use case where this generates worse code than before, let me know and
we can scale it back.
This fixes <rdar://problem/9036264>.
llvm-svn: 127317
|
| |
|
|
|
|
| |
more complicated.
llvm-svn: 127316
|
| |
|
|
| |
llvm-svn: 127311
|
| |
|
|
|
|
| |
INT_MIN % -1.
llvm-svn: 127306
|
| |
|
|
|
|
|
| |
This will we used for keeping register allocator data structures up to date
while LiveRangeEdit is trimming live intervals.
llvm-svn: 127300
|
| |
|
|
|
|
|
|
| |
reachable uses, but there still might be uses in dead blocks. Use the
standard solution of replacing all the uses with undef. This is
a rare case because it's very sensitive to phase ordering in SimplifyCFG.
llvm-svn: 127299
|
| |
|
|
|
|
| |
* Add tests for VSRI and VSLI.
llvm-svn: 127297
|
| |
|
|
| |
llvm-svn: 127295
|
| |
|
|
| |
llvm-svn: 127294
|
| |
|
|
|
|
| |
* Update the NEON shift instruction test to expect what 'as' produces.
llvm-svn: 127293
|
| |
|
|
|
|
|
|
| |
LiveRangeEdit::eliminateDeadDefs() will eventually be used by coalescing,
splitting, and spilling for dead code elimination. It can delete chains of dead
instructions as long as there are no dependency loops.
llvm-svn: 127287
|
| |
|
|
| |
llvm-svn: 127282
|
| |
|
|
|
|
|
|
| |
the sorted array.
Patch by Olaf Krzikalla!
llvm-svn: 127264
|
| |
|
|
|
|
|
|
|
|
|
|
| |
with this before since none of the register tracking or nightly tests
had unschedulable nodes.
This should probably be refixed with a special default Node that just
returns some "don't touch me" values.
Fixes PR9427
llvm-svn: 127263
|
| |
|
|
|
|
|
|
|
|
| |
MSVC 9."
The "fix" was meaningless.
This reverts commit r127245.
llvm-svn: 127260
|
| |
|
|
| |
llvm-svn: 127258
|
| |
|
|
| |
llvm-svn: 127254
|
| |
|
|
|
|
|
|
| |
operand for 1.
Found by inspection.
llvm-svn: 127247
|
| |
|
|
| |
llvm-svn: 127246
|
| |
|
|
| |
llvm-svn: 127245
|
| |
|
|
| |
llvm-svn: 127243
|
| |
|
|
| |
llvm-svn: 127241
|
| |
|
|
| |
llvm-svn: 127220
|
| |
|
|
| |
llvm-svn: 127214
|