| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 175173
|
|
|
|
| |
llvm-svn: 175168
|
|
|
|
|
|
|
|
|
| |
The parser will now accept instructions with alignment specifiers written like
vld1.8 {d16}, [r0:64]
, while also still accepting the incorrect syntax
vld1.8 {d16}, [r0, :64]
llvm-svn: 175164
|
|
|
|
| |
llvm-svn: 175150
|
|
|
|
|
|
| |
"x86_64-apple-darwin".
llvm-svn: 175146
|
|
|
|
|
|
| |
Added a test.
llvm-svn: 175144
|
|
|
|
|
| |
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175138
|
|
|
|
|
|
|
|
| |
This reverts commit fd1335e982bbf93c5f450ed4fd29f9f787435c85.
Use a triple this time.
llvm-svn: 175134
|
|
|
|
|
|
| |
'and' instructions. This is a pattern that shows up a lot in ubsan binaries.
llvm-svn: 175128
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 8b75e6bc35fb3f9c1e788dbd05084c0f4a60a0f3.
The FileCheck tests are not equivalent:
test/CodeGen/X86/tailcall-structret.ll:6:10: error: expected string not found in input
; CHECK: jmp init
^
<stdin>:1:2: note: scanning from here
.section __TEXT,__text,regular,pure_instructions
^
<stdin>:13:2: note: possible intended match here
jmp _init ## TAILCALL
^
llvm-svn: 175124
|
|
|
|
| |
llvm-svn: 175107
|
|
|
|
| |
llvm-svn: 175102
|
|
|
|
|
| |
NOTE: This is a candidate for the Mesa stable branch.
llvm-svn: 175096
|
|
|
|
| |
llvm-svn: 175093
|
|
|
|
| |
llvm-svn: 175089
|
|
|
|
|
|
| |
on ARM
llvm-svn: 175088
|
|
|
|
| |
llvm-svn: 175087
|
|
|
|
|
|
| |
instead of redefining separate instructions for them.
llvm-svn: 175086
|
|
|
|
|
|
|
| |
displacements.
rdar://12974533
llvm-svn: 175083
|
|
|
|
|
|
|
|
|
|
| |
if the offset fits in 11 bits. This makes use of the fact that the abi
requires sp to be 8 byte aligned so the actual offset can fit in 8
bits. It will be shifted left and sign extended before being actually used.
The assembler or direct object emitter will shift right the 11 bit
signed field by 3 bits. We don't need to deal with that here.
llvm-svn: 175073
|
|
|
|
|
|
|
|
| |
Remove dead functions: renameRegister
Move private member variables from LDV to Impl
Remove ssp/uwtable from testing case
llvm-svn: 175072
|
|
|
|
|
|
|
| |
Fixed bug in tablegen conversion when source pseudo instruction has
a different number of arguments than the destination instruction.
llvm-svn: 175066
|
|
|
|
|
|
|
|
|
|
|
| |
This happens when there is both stack realignment and a dynamic alloca in the
function. If we overwrite %esi (rep;movsl uses fixed registers) we'll lose the
base pointer and the next register spill will write into oblivion.
Fixes PR15249 and unbreaks firefox on i386/freebsd. Mozilla uses dynamic allocas
and freebsd a 4 byte stack alignment.
llvm-svn: 175057
|
|
|
|
| |
llvm-svn: 175044
|
|
|
|
|
|
| |
since a caller uses preserved registers across the call.
llvm-svn: 175043
|
|
|
|
|
|
| |
assembly.
llvm-svn: 175036
|
|
|
|
| |
llvm-svn: 175035
|
|
|
|
| |
llvm-svn: 175034
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RegisterCoalescer used to depend on LiveDebugVariable. LDV removes DBG_VALUEs
without emitting them at the end.
We fix this by removing LDV from RegisterCoalescer. Also add an assertion to
make sure we call emitDebugValues if DBG_VALUEs are removed at
runOnMachineFunction.
rdar://problem/13183203
Reviewed by Andy & Jakob
llvm-svn: 175023
|
|
|
|
| |
llvm-svn: 174992
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is complicated by backward labels (e.g., 0b can be both a backward label
and a binary zero). The current implementation assumes [0-9]b is always a
label and thus it's possible for 0b and 1b to not be interpreted correctly for
ms-style inline assembly. However, this is relatively simple to fix in the
inline assembly (i.e., drop the [bB]).
This patch also limits backward labels to [0-9]b, so that only 0b and 1b are
ambiguous.
Part of rdar://12470373
llvm-svn: 174983
|
|
|
|
|
|
| |
option "generate-dwarf-pubnames" to control it, set to "false" by default.
llvm-svn: 174981
|
|
|
|
| |
llvm-svn: 174979
|
|
|
|
|
|
| |
Patch by: Kevin Schoedel
llvm-svn: 174974
|
|
|
|
|
|
| |
instructions.
llvm-svn: 174973
|
|
|
|
|
|
|
|
|
|
|
| |
DAGCombiner::ReduceLoadWidth was converting (trunc i32 (shl i64 v, 32))
into (shl i32 v, 32) into undef. To prevent this, check the shift count
against the final result size.
Patch by: Kevin Schoedel
Reviewed by: Nadav Rotem
llvm-svn: 174972
|
|
|
|
|
|
|
|
|
|
|
| |
Vectors were being manually scalarized by the backend. Instead,
let the target-independent code do all of the work. The manual
scalarization was from a time before good target-independent support
for scalarization in LLVM. However, this forces us to specially-handle
vector loads and stores, which we can turn into PTX instructions that
produce/consume multiple operands.
llvm-svn: 174968
|
|
|
|
| |
llvm-svn: 174959
|
|
|
|
| |
llvm-svn: 174954
|
|
|
|
|
|
|
|
|
| |
A reverse shuffle is lowered to a vrev and possibly a vext instruction (quad
word).
radar://13171406
llvm-svn: 174933
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Lower reverse shuffles to a vrev64 and a vext instruction instead of the default
legalization of storing and loading to the stack. This is important because we
generate reverse shuffles in the loop vectorizer when we reverse store to an
array.
uint8_t Arr[N];
for (i = 0; i < N; ++i)
Arr[N - i - 1] = ...
radar://13171760
llvm-svn: 174929
|
|
|
|
|
|
| |
Part of rdar://12470373
llvm-svn: 174926
|
|
|
|
|
|
| |
bitcast X to ...
llvm-svn: 174905
|
|
|
|
|
|
|
|
| |
- variety of compare instructions,
- loops with no preheader,
- arbitrary lower and upper bounds.
llvm-svn: 174904
|
|
|
|
| |
llvm-svn: 174903
|
|
|
|
|
|
| |
*added file for test cases for i386 intel syntax
llvm-svn: 174900
|
|
|
|
|
|
| |
is not valid in this case, and was causing incorrect optimizations.
llvm-svn: 174896
|
|
|
|
| |
llvm-svn: 174891
|
|
|
|
|
|
|
| |
This allows llvm-dwarfdump to handle the relocations needed, at least
for LLVM-produced code.
llvm-svn: 174874
|
|
|
|
|
|
| |
This broke on Windows, presumably due to interleaving of output streams.
llvm-svn: 174873
|