| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
failures.
llvm-svn: 144492
|
| |
|
|
| |
llvm-svn: 144490
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
SimplifyAddress to handle either a 12-bit unsigned offset or the ARM +/-imm8
offsets (addressing mode 3). This enables a load followed by an integer
extend to be folded into a single load.
For example:
ldrb r1, [r0] ldrb r1, [r0]
uxtb r2, r1 =>
mov r3, r2 mov r3, r1
llvm-svn: 144488
|
| |
|
|
| |
llvm-svn: 144487
|
| |
|
|
|
|
| |
This thing is looking a lot like a virtual register map now.
llvm-svn: 144486
|
| |
|
|
|
|
|
| |
Nobody cared, StackSlotColoring scans the instructions to find used stack
slots.
llvm-svn: 144485
|
| |
|
|
|
|
|
| |
Most of this stuff was supporting the old deferred spill code insertion
mechanism. Modern spillers just edit machine code in place.
llvm-svn: 144484
|
| |
|
|
|
|
|
| |
The information was only used by the register allocator in
StackSlotColoring.
llvm-svn: 144482
|
| |
|
|
|
|
|
|
|
| |
It was off by default.
The new register allocators don't have the problems that made it
necessary to reallocate registers during stack slot coloring.
llvm-svn: 144481
|
| |
|
|
|
|
| |
And there was much rejoicing.
llvm-svn: 144480
|
| |
|
|
|
|
| |
The very complicated VirtRegRewriter is going away.
llvm-svn: 144479
|
| |
|
|
|
|
| |
This is dead code, all register allocators use InlineSpiller.
llvm-svn: 144478
|
| |
|
|
|
|
| |
The current register allocators all use the inline spiller.
llvm-svn: 144477
|
| |
|
|
|
|
|
|
|
|
|
| |
It is worth noting that the old spiller would split live ranges around
basic blocks. The new spiller doesn't do that.
PBQP should do its own live range splitting with
SplitEditor::splitSingleBlock() if desired. See
RAGreedy::tryBlockSplit().
llvm-svn: 144476
|
| |
|
|
|
|
|
|
|
| |
RegAllocGreedy has been the default for six months now.
Deleting RegAllocLinearScan makes it possible to also delete
VirtRegRewriter and clean up the spiller code.
llvm-svn: 144475
|
| |
|
|
|
|
| |
patterns instead of custom lowering code.
llvm-svn: 144457
|
| |
|
|
|
|
| |
loop. Fixes PR11361!
llvm-svn: 144454
|
| |
|
|
| |
llvm-svn: 144453
|
| |
|
|
| |
llvm-svn: 144452
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
methods but also class methods for Objective-C.
Clang emits Objective-C method names with '\1' at the
beginning, and the JIT has pre-existing logic to try
prepending a '\1' when searching a module for an
instance method (that is, a method whose name begins
with '-'). I simply extended it to do the same thing
when it encountered a class method (a method whose
name begins with '+').
llvm-svn: 144451
|
| |
|
|
| |
llvm-svn: 144449
|
| |
|
|
| |
llvm-svn: 144448
|
| |
|
|
| |
llvm-svn: 144447
|
| |
|
|
|
|
|
|
| |
versions of explicit dependencies.
- The hope is that we have a tool/test to verify these are accurate (and tight) soon.
llvm-svn: 144444
|
| |
|
|
|
|
| |
Fixes PR11353.
llvm-svn: 144442
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
instance and a concrete inlined instance are the use of DW_TAG_subprogram
instead of DW_TAG_inlined_subroutine and the who owns the tree.
We were also omitting DW_AT_inline from the abstract roots. To fix this,
make sure we mark abstract instance roots with DW_AT_inline even when
we have only out-of-line instances referring to them with DW_AT_abstract_origin.
FileCheck is not a very good tool for tests like this, maybe we should add
a -verify mode to llvm-dwarfdump.
llvm-svn: 144441
|
| |
|
|
|
|
|
| |
These immediate operands all use the same simple logic for rendering to
MCInst, so have them share the method for doing so.
llvm-svn: 144439
|
| |
|
|
|
|
| |
runs. Fixes PR11029.
llvm-svn: 144438
|
| |
|
|
|
|
| |
Original commit msg: 'ARM assembly parsing for VST1 two-register encoding.'
llvm-svn: 144437
|
| |
|
|
|
|
|
|
| |
maintain LegalizeDAG invariants, whenever we a node is replaced, we must attempt to delete it, and if it still
has uses after it is replaced (which can happen in rare cases due to CSE), we must revisit it.
llvm-svn: 144432
|
| |
|
|
| |
llvm-svn: 144431
|
| |
|
|
| |
llvm-svn: 144430
|
| |
|
|
| |
llvm-svn: 144427
|
| |
|
|
| |
llvm-svn: 144426
|
| |
|
|
| |
llvm-svn: 144423
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It's ignored by the assembler when present, but is legal syntax. Other
instructions have something similar, but for some mnemonics it's
only sometimes not significant, so this quick check in the parser will
need refactored into something more robust soon-ish. This gets some
basics working in the meantime.
Partial for rdar://10435264
llvm-svn: 144422
|
| |
|
|
| |
llvm-svn: 144416
|
| |
|
|
| |
llvm-svn: 144415
|
| |
|
|
|
|
|
|
|
|
| |
"With this patch we can now generate runnable Mips code through LLVM
direct object emission. We have run numerous simple programs, both C
and C++ and with -O0 and -O3 from the output. The code is not production
ready, but quite useful for experimentation." Patch and message by
Jack Carter
llvm-svn: 144414
|
| |
|
|
| |
llvm-svn: 144411
|
| |
|
|
|
|
| |
Fixes PR8113.
llvm-svn: 144409
|
| |
|
|
|
|
| |
rdar://9672822
llvm-svn: 144407
|
| |
|
|
|
|
| |
which machine instruction gets to be a safepoint.
llvm-svn: 144399
|
| |
|
|
| |
llvm-svn: 144392
|
| |
|
|
| |
llvm-svn: 144388
|
| |
|
|
| |
llvm-svn: 144387
|
| |
|
|
|
|
|
|
|
|
| |
disassembler API.
This will break users of the LLVMCreateDisasm API (not that I know of any). They have to call the
LLVMInitializeAll* functions from llvm-c/Target.h themselves now. edis' C API in all its horribleness
should be unaffected.
llvm-svn: 144385
|
| |
|
|
| |
llvm-svn: 144384
|
| |
|
|
|
|
| |
libMBlazeDisassembler.
llvm-svn: 144383
|
| |
|
|
| |
llvm-svn: 144380
|