| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
Clean up the patterns, fix comments, and avoid confusing both tools
and coders. Note that the special adds/subs SelectionDAG nodes no
longer have the dummy cc_out operand.
llvm-svn: 142397
|
|
|
|
| |
llvm-svn: 142394
|
|
|
|
| |
llvm-svn: 142363
|
|
|
|
| |
llvm-svn: 142332
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the custom inserter for the ARM setjmp intrinsics. Instead of creating the
SjLj dispatch table in IR, where it frequently violates serveral assumptions --
in particular assumptions made by the landingpad instruction about what can
branch to a landing pad and what cannot. Performing this in the back-end allows
us to violate these assumptions without the IR getting angry at us.
It also allows us to perform a small optimization. We can shove the address of
the dispatch's basic block into the function context and not have to add code
around the setjmp to check for the return value and jump to the dispatch.
Neat, huh?
<rdar://problem/10116753>
llvm-svn: 142294
|
|
|
|
|
|
| |
lowered to. This fixes a lot of verifier failures on the test suite.
llvm-svn: 142254
|
|
|
|
|
|
|
| |
These missing flags show up as errors when running -verify-coalescing on
test-suite.
llvm-svn: 142111
|
|
|
|
| |
llvm-svn: 142110
|
|
|
|
| |
llvm-svn: 141811
|
|
|
|
| |
llvm-svn: 141591
|
|
|
|
|
|
| |
hang, and possibly SPEC/CINT2006/464_h264ref.
llvm-svn: 141560
|
|
|
|
|
|
| |
Patch by Ana Pazos!
llvm-svn: 141365
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
using llvm's public 'C' disassembler API now including annotations.
Hooked this up to Darwin's otool(1) so it can again print things like branch
targets for example this:
blx _puts
instead of this:
blx #-36
and includes support for annotations for branches to symbol stubs like:
bl 0x40 @ symbol stub for: _puts
and annotations for pc relative loads like this:
ldr r3, #8 @ literal pool for: Hello, world!
Also again can print the expression encoded in the Mach-O relocation entries for
things like this:
movt r0, :upper16:((_foo-_bar)+1234)
llvm-svn: 141129
|
|
|
|
|
|
|
| |
It's documented as a separate instruction to line up with the Thumb1
encodings, for which it really is a distinct instruction encoding.
llvm-svn: 141020
|
|
|
|
|
|
|
|
|
|
|
|
| |
forgotten to commit.
Build on previous patches to successfully distinguish between an M-series and A/R-series MSR and MRS instruction. These take different mask names and have a *slightly* different opcode format.
Add decoder and disassembler tests.
Improvement on the previous patch - successfully distinguish between valid v6m and v7m masks (one is a subset of the other). The patch had to be edited slightly to apply to ToT.
llvm-svn: 140696
|
|
|
|
|
|
|
|
| |
Add inst alias to handle these assembly forms. Add tests, too.
rdar://10178799
llvm-svn: 140647
|
|
|
|
| |
llvm-svn: 140581
|
|
|
|
| |
llvm-svn: 140560
|
|
|
|
| |
llvm-svn: 140422
|
|
|
|
|
|
| |
even if it's zero, to distinguish them from non-post-indexed instructions.
llvm-svn: 140420
|
|
|
|
|
|
| |
other test failures I caused.
llvm-svn: 140284
|
|
|
|
|
|
| |
as [pc, #123] rather than simply #123.
llvm-svn: 140283
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is still a hack until we can teach tblgen to generate the
optional CPSR operand rather than an implicit CPSR def. But the
strangeness is now limited to the selection DAG. ADD/SUB MI's no
longer have implicit CPSR defs, nor do we allow flag setting variants
of these opcodes in machine code. There are several corner cases to
consider, and getting one wrong would previously lead to nasty
miscompilation. It's not the first time I've debugged one, so this
time I added enough verification to ensure it won't happen again.
llvm-svn: 140228
|
|
|
|
|
|
|
|
|
|
| |
No functionality change. The hook makes it explicit which patterns
require "special" handling. i.e. it self-documents tblgen
deficiencies. I plan to add verification in ExpandISelPseudos and
Thumb2SizeReduce to catch any missing hasPostISelHooks. Otherwise it's
too fragile.
llvm-svn: 140160
|
|
|
|
|
|
|
|
|
|
|
| |
Modified ARMISelLowering::AdjustInstrPostInstrSelection to handle the
full gamut of CPSR defs/uses including instructins whose "optional"
cc_out operand is not really optional. This allowed removal of the
hasPostISelHook to simplify the .td files and make the implementation
more robust.
Fixes rdar://10137436: sqlite3 miscompile
llvm-svn: 140134
|
|
|
|
| |
llvm-svn: 140125
|
|
|
|
| |
llvm-svn: 140116
|
|
|
|
| |
llvm-svn: 140105
|
|
|
|
| |
llvm-svn: 140099
|
|
|
|
| |
llvm-svn: 140078
|
|
|
|
| |
llvm-svn: 140050
|
|
|
|
| |
llvm-svn: 140047
|
|
|
|
|
|
| |
decoder from emitting gibberish for this invalid encoding.
llvm-svn: 140041
|
|
|
|
| |
llvm-svn: 140029
|
|
|
|
| |
llvm-svn: 139966
|
|
|
|
| |
llvm-svn: 139958
|
|
|
|
|
|
|
| |
More addressing mode encoding bits. Handle pre increment for STR/STRB/STRH
and STR(register).
llvm-svn: 139949
|
|
|
|
| |
llvm-svn: 139944
|
|
|
|
|
|
| |
Add aliases for STRB/STRH while there. Tests forthcoming for those.
llvm-svn: 139942
|
|
|
|
| |
llvm-svn: 139938
|
|
|
|
| |
llvm-svn: 139926
|
|
|
|
| |
llvm-svn: 139925
|
|
|
|
| |
llvm-svn: 139909
|
|
|
|
| |
llvm-svn: 139906
|
|
|
|
| |
llvm-svn: 139877
|
|
|
|
| |
llvm-svn: 139839
|
|
|
|
| |
llvm-svn: 139828
|
|
|
|
| |
llvm-svn: 139813
|
|
|
|
| |
llvm-svn: 139794
|
|
|
|
| |
llvm-svn: 139754
|