| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 133047
|
|
|
|
|
|
|
|
|
|
|
| |
the bits being cleared by the AND are not demanded by the BFI.
The previous BFI dag combine rule was actually incorrect (or used to be
correct until BFI representation changed).
rdar://9609030
llvm-svn: 133034
|
|
|
|
|
|
|
|
| |
generates a vpaddl instruction instead of scalarizing the add.
Includes a test case.
llvm-svn: 133027
|
|
|
|
|
|
|
| |
or instruction cache access. Update the targets to match it and also teach
autoupgrade.
llvm-svn: 132976
|
|
|
|
|
|
| |
CallOrPrologue correctly and eliminate the existing setter.
llvm-svn: 132856
|
|
|
|
|
|
|
|
|
|
|
| |
Prologue state,
causing an assertion failure downstream. This fixes <rdar://problem/9562908>.
This really seems like it should always be set at CCState creation time, so mistakes like
this can never happen. I'll take a look at doing that.
llvm-svn: 132811
|
|
|
|
|
|
|
|
| |
No functional change.
Part of PR6965
llvm-svn: 132763
|
|
|
|
|
|
|
|
| |
addressing mode problem mentioned in r132559.
Backend part of rdar://9037836 and part of rdar://9119939
llvm-svn: 132561
|
|
|
|
|
|
| |
Part of rdar://9119939
llvm-svn: 132510
|
|
|
|
|
|
|
|
|
| |
This is important for the correct lowering of unwind instructions
(which doesn't matter at all) and llvm.eh.resume calls (which does).
Take 2, now with more basic competence.
llvm-svn: 132295
|
|
|
|
| |
llvm-svn: 132293
|
|
|
|
|
|
|
| |
This is important for the correct lowering of unwind instructions
(which doesn't matter at all) and llvm.eh.resume calls (which does).
llvm-svn: 132291
|
|
|
|
|
|
|
|
| |
to load/store i64 values. Since there's no current support to explicitly
declare such restrictions, implement it by using specific hardcoded register
pairs during isel.
llvm-svn: 132248
|
|
|
|
|
|
| |
and add some basic tests for them.
llvm-svn: 132235
|
|
|
|
|
|
| |
tools issues. rdar://9514789
llvm-svn: 132211
|
|
|
|
|
|
| |
accepts parameters (ptr, size, value) in a different order than GNU's memset (ptr, value, size), therefore the special lowering in AAPCS mode. Implementation by Evzen Muller.
llvm-svn: 131868
|
|
|
|
| |
llvm-svn: 131739
|
|
|
|
| |
llvm-svn: 131708
|
|
|
|
|
|
| |
this change.
llvm-svn: 131630
|
|
|
|
|
|
| |
Add test case.
llvm-svn: 131582
|
|
|
|
|
|
| |
rdar://9449159.
llvm-svn: 131555
|
|
|
|
|
|
| |
type as input. Sorry test cases only trigger when dag combine is disabled. rdar://9449178
llvm-svn: 131553
|
|
|
|
|
|
|
|
| |
splits each half. Therefore, the real problem was that we were using a VREV64 for a 4xi16, when we should have been using a VREV32.
Updated test case and reverted change to the PerfectShuffle Table.
llvm-svn: 131529
|
|
|
|
| |
llvm-svn: 131519
|
|
|
|
|
|
| |
compare-and-swap intrinsics.
llvm-svn: 131518
|
|
|
|
|
|
|
|
| |
intrinsic call. This prevents it from being reordered so that it appears
*before* the setjmp intrinsic (thus making it completely useless).
<rdar://problem/9409683>
llvm-svn: 131174
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 131012
|
|
|
|
| |
llvm-svn: 130766
|
|
|
|
|
|
|
|
| |
model constants which can be added to base registers via add-immediate
instructions which don't require an additional register to materialize
the immediate.
llvm-svn: 130743
|
|
|
|
| |
llvm-svn: 130558
|
|
|
|
|
|
| |
rdar://9326019
llvm-svn: 130234
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes Thumb2 ADCS and SBCS lowering: <rdar://problem/9275821>.
t2ADCS/t2SBCS are now pseudo instructions, consistent with ARM, so the
assembly printer correctly prints the 's' suffix.
Fixes Thumb2 adde -> SBC matching to check for live/dead carry flags.
Fixes the internal ARM machine opcode mnemonic for ADCS/SBCS.
Fixes ARM SBC lowering to check for live carry (potential bug).
llvm-svn: 130048
|
|
|
|
| |
llvm-svn: 129884
|
|
|
|
| |
llvm-svn: 129862
|
|
|
|
|
|
| |
<rdar://problem/7662569>
llvm-svn: 129858
|
|
|
|
| |
llvm-svn: 129781
|
|
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129558
|
|
|
|
|
|
| |
forget to right shift the source by 32 first. rdar://9287902
llvm-svn: 129556
|
|
|
|
| |
llvm-svn: 129468
|
|
|
|
|
|
|
| |
stores of arguments in the same cache line. This fixes the second half of
<rdar://problem/8674845>.
llvm-svn: 129345
|
|
|
|
|
|
| |
is lowered into a call to the specified trap function at sdisel time.
llvm-svn: 129152
|
|
|
|
|
|
| |
instruction. rdar://9249183.
llvm-svn: 129107
|
|
|
|
|
|
| |
vector type (vectors of size 3). Also included test cases.
llvm-svn: 129074
|
|
|
|
| |
llvm-svn: 129045
|
|
|
|
|
|
| |
imp-def of CPSR it was adding.
llvm-svn: 128965
|
|
|
|
| |
llvm-svn: 128951
|
|
|
|
| |
llvm-svn: 128946
|
|
|
|
|
|
| |
doing the expansion earlier (using a custom inserter) to allow for the chance of predicating these instructions.
llvm-svn: 128940
|
|
|
|
|
|
|
|
|
|
|
|
| |
It needed to be moved closer to the setjmp statement, because the code directly
after the setjmp needs to know about values that are on the stack. Also, the
'bitcast' of the function context was causing a dead load. This wouldn't be too
horrible, except that at -O0 it wasn't optimized out, and because it wasn't
using the correct base pointer (if there is a VLA), it would try to access a
value from a garbage address.
<rdar://problem/9130540>
llvm-svn: 128873
|
|
|
|
|
|
|
|
| |
registers that arise from argument shuffling with the soft float ABI. These
instructions are particularly slow on Cortex A8. This fixes one half of
<rdar://problem/8674845>.
llvm-svn: 128759
|