| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
displacement.
llvm-svn: 148486
|
|
|
|
|
|
| |
if available.
llvm-svn: 148485
|
|
|
|
| |
llvm-svn: 148473
|
|
|
|
| |
llvm-svn: 148467
|
|
|
|
| |
llvm-svn: 148466
|
|
|
|
| |
llvm-svn: 148465
|
|
|
|
| |
llvm-svn: 148464
|
|
|
|
| |
llvm-svn: 148462
|
|
|
|
| |
llvm-svn: 148459
|
|
|
|
| |
llvm-svn: 148456
|
|
|
|
| |
llvm-svn: 148455
|
|
|
|
|
|
|
|
|
|
|
| |
to instruction right after the last instruction in the bundle.
- Add a finalizeBundle() variant that doesn't specify LastMI. Instead, the code
will find the last instruction in the bundle by following the 'InsideBundle'
marker. This is useful in case bundles are formed early (i.e. during MI
scheduling) but finalized later (i.e. after register allocator has finished
rewriting virtual registers with physical registers).
llvm-svn: 148444
|
|
|
|
| |
llvm-svn: 148442
|
|
|
|
| |
llvm-svn: 148440
|
|
|
|
|
|
|
|
| |
It adds register mask operands to x86 call instructions. Once all the
backend passes support register mask operands, this will be permanently
enabled.
llvm-svn: 148438
|
|
|
|
|
|
|
| |
This is similar to implicit register operands. MC doesn't understand
register liveness and call clobbers.
llvm-svn: 148437
|
|
|
|
|
|
|
|
|
|
|
| |
This SelectionDAG node will be attached to call nodes by LowerCall(),
and eventually becomes a MO_RegisterMask MachineOperand on the
MachineInstr representing the call instruction.
LowerCall() will attach a register mask that depends on the calling
convention.
llvm-svn: 148436
|
|
|
|
| |
llvm-svn: 148434
|
|
|
|
|
|
|
|
| |
Explicit pc-relative syntax. For example, "ldrb r2, [pc, #-22]".
rdar://10250964
llvm-svn: 148432
|
|
|
|
|
|
| |
more desirable.
llvm-svn: 148431
|
|
|
|
| |
llvm-svn: 148427
|
|
|
|
|
|
|
|
|
| |
If the fixup is out of range for the Thumb1 instruction, relax it
to the Thumb2 encoding instead.
rdar://10711829
llvm-svn: 148424
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the two fragments are in the same Atom, then the difference
expression is resolvable at compile time. Previously we were checking
that they were in the same fragment, but that breaks down in the
presence of instruction relaxation which has multiple fragments in the
same atom.
rdar://10711829
llvm-svn: 148423
|
|
|
|
| |
llvm-svn: 148422
|
|
|
|
| |
llvm-svn: 148419
|
|
|
|
|
|
| |
of recognizing them by name.
llvm-svn: 148416
|
|
|
|
| |
llvm-svn: 148415
|
|
|
|
| |
llvm-svn: 148408
|
|
|
|
| |
llvm-svn: 148401
|
|
|
|
| |
llvm-svn: 148400
|
|
|
|
| |
llvm-svn: 148384
|
|
|
|
|
|
| |
vector type to another, we must not bitcast the result if one type is widened while the other is promoted.
llvm-svn: 148383
|
|
|
|
|
|
| |
TwoAddressInstructionPass to insert copies for any physical reg operands of the REG_SEQUENCE
llvm-svn: 148377
|
|
|
|
|
|
|
|
|
|
| |
Load/store instructions w/ a fixup to be relative a function marked as thumb
don't use the low bit to specify thumb vs. non-thumb like interworking
branches do, so don't set it when dealing with those fixups.
rdar://10348687.
llvm-svn: 148366
|
|
|
|
| |
llvm-svn: 148364
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When set, this bit indicates that a register is completely defined by
the value of its sub-registers.
Use the CoveredBySubRegs property to infer which super-registers are
call-preserved given a list of callee-saved registers. For example, the
ARM registers D8-D15 are callee-saved. This now automatically implies
that Q4-Q7 are call-preserved.
Conversely, Win64 callees save XMM6-XMM15, but the corresponding
YMM6-YMM15 registers are not call-preserved because they are not fully
defined by their sub-registers.
llvm-svn: 148363
|
|
|
|
|
|
| |
Move ARM callee-saved lists into ARMCallingConv.td.
llvm-svn: 148357
|
|
|
|
|
|
|
| |
The JIT is expected to take ownership of the TM that's passed in. The MCJIT
wasn't freeing it, resulting in leaks.
llvm-svn: 148356
|
|
|
|
|
|
| |
Add a trivial implementation of the getCallPreservedMask() hook.
llvm-svn: 148347
|
|
|
|
| |
llvm-svn: 148342
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the non-local symbol in the expression is in the same fragment
as the second symbol, the assembler can still evaluate the expression
without needing a relocation.
For example, on ARM:
_foo:
ldr lr, (_foo - 4)
rdar://10348687
llvm-svn: 148341
|
|
|
|
| |
llvm-svn: 148338
|
|
|
|
| |
llvm-svn: 148337
|
|
|
|
| |
llvm-svn: 148334
|
|
|
|
|
|
| |
autorelease push+pop pairs.
llvm-svn: 148330
|
|
|
|
|
|
|
| |
EP_ModuleOptimizerEarly, to allow passes to be added before the
main ModulePass optimizers.
llvm-svn: 148329
|
|
|
|
| |
llvm-svn: 148322
|
|
|
|
|
|
| |
displacement.
llvm-svn: 148321
|
|
|
|
| |
llvm-svn: 148312
|
|
|
|
|
|
| |
Instead, we now put the attributes of the container into members.
llvm-svn: 148302
|