| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 107552
|
| |
|
|
|
|
| |
slots so it's always false.
llvm-svn: 107550
|
| |
|
|
| |
llvm-svn: 107549
|
| |
|
|
|
|
|
| |
This code is transitional, it will soon be possible to eliminate
isExtractSubreg, isInsertSubreg, and isMoveInstr in most places.
llvm-svn: 107547
|
| |
|
|
| |
llvm-svn: 107540
|
| |
|
|
| |
llvm-svn: 107537
|
| |
|
|
|
|
|
|
|
|
|
| |
The COPY instruction is intended to replace the target specific copy
instructions for virtual registers as well as the EXTRACT_SUBREG and
INSERT_SUBREG instructions in MachineFunctions. It won't we used in a selection
DAG.
COPY is lowered to native register copies by LowerSubregs.
llvm-svn: 107529
|
| |
|
|
|
|
|
| |
- Fix VEX prefix to be emitted with 3 bytes whenever VEX_5M
represents a REX equivalent two byte leading opcode
llvm-svn: 107523
|
| |
|
|
|
|
|
|
|
|
|
|
| |
new basic blocks, and if used as a function argument, that can cause call frame
setup / destroy pairs to be split across a basic block boundary. That prevents
us from doing a simple assertion to check that the pairs match and alloc/
dealloc the same amount of space. Modify the assertion to only check the
amount allocated when there are matching pairs in the same basic block.
rdar://8022442
llvm-svn: 107517
|
| |
|
|
| |
llvm-svn: 107516
|
| |
|
|
| |
llvm-svn: 107513
|
| |
|
|
|
|
|
|
|
| |
- X86 unfolding should check if the instructions being unfolded has memoperands.
If there is no memoperands, then it must assume conservative alignment. If this
would introduce an expensive sse unaligned load / store, then unfoldMemoryOperand
etc. should not unfold the instruction.
llvm-svn: 107509
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PrologEpilog code, and use it to determine whether
the asm forces stack alignment or not. gcc consistently
does not do this for GCC-style asms; Apple gcc inconsistently
sometimes does it for asm blocks. There is no
convenient place to put a bit in either the SDNode or
the MachineInstr form, so I've added an extra operand
to each; unlovely, but it does allow for expansion for
more bits, should we need it. PR 5125. Some
existing testcases are affected.
The operand lists of the SDNode and MachineInstr forms
are indexed with awesome mnemonics, like "2"; I may
fix this someday, but not now. I'm not making it any
worse. If anyone is inspired I think you can find all
the right places from this patch.
llvm-svn: 107506
|
| |
|
|
| |
llvm-svn: 107505
|
| |
|
|
| |
llvm-svn: 107503
|
| |
|
|
| |
llvm-svn: 107500
|
| |
|
|
| |
llvm-svn: 107498
|
| |
|
|
|
|
|
| |
have any effect, and second, deleting stores can potentially invalidate
an AliasAnalysis, and there's currently no notification for this.
llvm-svn: 107496
|
| |
|
|
|
|
|
|
|
|
| |
This allows us to recognize the common case where all uses could be
rematerialized, and no stack slot allocation is necessary.
If some values could be fully rematerialized, remove them from the live range
before allocating a stack slot for the rest.
llvm-svn: 107492
|
| |
|
|
| |
llvm-svn: 107490
|
| |
|
|
| |
llvm-svn: 107489
|
| |
|
|
|
|
|
| |
that it checks the immediate values, not just the instructions opcodes.
Radar 8110263.
llvm-svn: 107487
|
| |
|
|
| |
llvm-svn: 107482
|
| |
|
|
| |
llvm-svn: 107454
|
| |
|
|
| |
llvm-svn: 107451
|
| |
|
|
| |
llvm-svn: 107448
|
| |
|
|
|
|
| |
will still be stripped by the linker when it generates the final image.
llvm-svn: 107440
|
| |
|
|
| |
llvm-svn: 107438
|
| |
|
|
|
|
|
|
|
| |
getFunctionAlignment and the corresponding use of that value in the ARM
asm printer, but now we're using the standard asm printer. The result of
this was that function alignments were dropped completely for Thumb functions.
Radar 8143571.
llvm-svn: 107435
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.
For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:
.globl l_objc_msgSend_fixup_alloc
.weak_definition l_objc_msgSend_fixup_alloc
.section __DATA, __objc_msgrefs, coalesced
.align 3
l_objc_msgSend_fixup_alloc:
.quad _objc_msgSend_fixup
.quad L_OBJC_METH_VAR_NAME_1
This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".
Currently only supported on Darwin platforms.
llvm-svn: 107433
|
| |
|
|
|
|
| |
This is a regression caused by r106792 and caught by gdb testsuite.
llvm-svn: 107430
|
| |
|
|
| |
llvm-svn: 107428
|
| |
|
|
| |
llvm-svn: 107426
|
| |
|
|
| |
llvm-svn: 107424
|
| |
|
|
|
|
|
| |
make it more aggressive in cases where both pointers are known to live
in the same function.
llvm-svn: 107420
|
| |
|
|
|
|
| |
Spencer!
llvm-svn: 107418
|
| |
|
|
|
|
|
|
|
| |
such a way that debug info for symbols preserved even if symbols are
optimized away by the optimizer.
Add new special pass to remove debug info for such symbols.
llvm-svn: 107416
|
| |
|
|
| |
llvm-svn: 107412
|
| |
|
|
|
|
| |
Add AVX SSE3 packed horizontal and & sub instructions
llvm-svn: 107405
|
| |
|
|
| |
llvm-svn: 107404
|
| |
|
|
| |
llvm-svn: 107393
|
| |
|
|
|
|
| |
work even if CallInst::op_* are private
llvm-svn: 107390
|
| |
|
|
|
|
| |
doing the work manually.
llvm-svn: 107384
|
| |
|
|
|
|
|
| |
from a Value to a Type, because it doesn't actually care about
the Value.
llvm-svn: 107383
|
| |
|
|
| |
llvm-svn: 107381
|
| |
|
|
|
|
|
| |
available in a register. This is pretty primitive, but it reduces the
number of instructions in common testcases by 4%.
llvm-svn: 107380
|
| |
|
|
| |
llvm-svn: 107377
|
| |
|
|
|
|
| |
to SelectionDAG.
llvm-svn: 107376
|
| |
|
|
| |
llvm-svn: 107375
|
| |
|
|
|
|
| |
the same address.
llvm-svn: 107373
|