| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
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: 175156
|
|
|
|
|
|
| |
post-operand legalization.
llvm-svn: 175149
|
|
|
|
|
|
| |
Added a test.
llvm-svn: 175144
|
|
|
|
|
|
|
| |
Fixes assertion failure in newly added lit test. Might just be a bandaid that
needs to be revisited.
llvm-svn: 175139
|
|
|
|
| |
llvm-svn: 175133
|
|
|
|
|
|
| |
register class to match the defining instruction.
llvm-svn: 175130
|
|
|
|
|
|
| |
'and' instructions. This is a pattern that shows up a lot in ubsan binaries.
llvm-svn: 175128
|
|
|
|
|
|
|
|
|
| |
up so that we can apply the direct object emitter patch. This patch
should be a nop right now and it's test is to not break what is already
there.
llvm-svn: 175126
|
|
|
|
|
|
|
| |
CoalescerPairs. Also, make it take a CoalescerPair directly like other methods
of RegisterCoalescer.
llvm-svn: 175123
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the copy is a subregister def. The current code assumes that it can do a full
def of the destination register, but it is not checking that the def operand is
read-undef. It also doesn't clear the subregister index of the destination in
the new instruction to reflect the full subregister def.
These issues were found running 'make check' with my next commit that enables
rematerialization in more cases.
llvm-svn: 175122
|
|
|
|
| |
llvm-svn: 175121
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since functions with internal linkage don't have language linkage, it is valid
to overload them:
extern "C" {
static int foo();
static int foo(int);
}
So we mangle them.
llvm-svn: 175120
|
|
|
|
| |
llvm-svn: 175107
|
|
|
|
|
|
|
|
|
| |
It's possible (e.g. after an LTO build) that an internal global may be used for
debugging purposes. If that's the case appending a '.b' to it makes it hard to
find that variable. Steal the name from the old GV before deleting it so that
they can find that variable again.
llvm-svn: 175104
|
|
|
|
| |
llvm-svn: 175102
|
|
|
|
|
| |
NOTE: This is a candidate for the Mesa stable branch.
llvm-svn: 175096
|
|
|
|
|
|
| |
Fixes PR15250!
llvm-svn: 175092
|
|
|
|
|
|
| |
on ARM
llvm-svn: 175088
|
|
|
|
|
|
| |
instead of redefining separate instructions for them.
llvm-svn: 175086
|
|
|
|
|
|
|
| |
displacements.
rdar://12974533
llvm-svn: 175083
|
|
|
|
| |
llvm-svn: 175082
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 175076
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 175067
|
|
|
|
| |
llvm-svn: 175063
|
|
|
|
|
|
|
|
| |
metadata is the loop vectorizer.
See the documentation update for more info.
llvm-svn: 175060
|
|
|
|
|
|
| |
via -print-after-all.
llvm-svn: 175058
|
|
|
|
|
|
|
|
|
|
|
| |
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: 175048
|
|
|
|
| |
llvm-svn: 175046
|
|
|
|
| |
llvm-svn: 175044
|
|
|
|
|
|
| |
since a caller uses preserved registers across the call.
llvm-svn: 175043
|
|
|
|
|
|
| |
assembly.
llvm-svn: 175036
|
|
|
|
| |
llvm-svn: 175034
|
|
|
|
| |
llvm-svn: 175033
|
|
|
|
| |
llvm-svn: 175024
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
rdar://13202662
llvm-svn: 175021
|
|
|
|
| |
llvm-svn: 175020
|
|
|
|
|
|
| |
visitSExt is an adapted copy of the related visitZExt method, so adapt the comment accordingly.
llvm-svn: 175019
|
|
|
|
| |
llvm-svn: 175017
|
|
|
|
|
|
| |
trying to do.
llvm-svn: 175014
|
|
|
|
|
|
|
|
|
|
| |
.align).
Also, allow _EMIT and __EMIT for the emit directive. We already do the same
for TYPE, SIZE, and LENGTH.
rdar://13200215
llvm-svn: 175008
|
|
|
|
|
|
|
|
|
|
| |
violations such as tabs, blanks at eol and long
lines.
llvm-svn: 175007
|
|
|
|
|
|
| |
function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration.
llvm-svn: 175006
|
|
|
|
|
|
| |
avoid a second pred_iterator traversal.
llvm-svn: 175001
|
|
|
|
| |
llvm-svn: 174999
|
|
|
|
| |
llvm-svn: 174998
|