| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
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
|
|
|
|
|
|
|
| |
SelectionDAGBuilder::getValue into a helper function, with fixes to
use DenseMaps safely.
llvm-svn: 107371
|
|
|
|
|
|
| |
value if the search fails.
llvm-svn: 107368
|
|
|
|
|
|
|
|
| |
- Add encode bits for VEX_W
- All 128-bit SSE 1 & SSE2 instructions that are described
in the .td file now have a AVX encoded form already working.
llvm-svn: 107365
|
|
|
|
| |
llvm-svn: 107361
|
|
|
|
| |
llvm-svn: 107360
|
|
|
|
| |
llvm-svn: 107355
|
|
|
|
| |
llvm-svn: 107351
|
|
|
|
|
|
|
| |
correct catch-all value. This saves having to iterate through all of the
selectors in the program again.
llvm-svn: 107345
|
|
|
|
| |
llvm-svn: 107335
|
|
|
|
|
|
| |
structs. rdar://8145832
llvm-svn: 107332
|
|
|
|
| |
llvm-svn: 107323
|
|
|
|
| |
llvm-svn: 107321
|
|
|
|
|
|
|
|
|
|
|
| |
entries associated with the value being erased in the
folding set map. These entries used to be harmless, because
a SCEVUnknown doesn't store any information about its Value*,
so having a new Value allocated at the old Value's address
wasn't a problem. But now that ScalarEvolution is storing more
information about values, this is no longer safe.
llvm-svn: 107316
|
|
|
|
| |
llvm-svn: 107308
|
|
|
|
| |
llvm-svn: 107307
|
|
|
|
| |
llvm-svn: 107306
|
|
|
|
|
|
|
|
|
| |
LocalRewriter::runOnMachineFunction uses this information to mark dead spill
slots.
This means that InlineSpiller now also works for functions that spill.
llvm-svn: 107302
|
|
|
|
|
|
| |
declared as commutable
llvm-svn: 107300
|
|
|
|
|
|
|
| |
nsw and nuw flags from IR Instructions. On further consideration,
this isn't valid.
llvm-svn: 107298
|
|
|
|
|
|
| |
this could break something (but doesn't seem to).
llvm-svn: 107295
|
|
|
|
| |
llvm-svn: 107293
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
replaced by a bigger array in SmallPtrSet (by overridding it), instead just use a
pointer to the start of the storage, and have SmallPtrSet pass in the value to use.
This has the disadvantage that SmallPtrSet becomes bigger by one pointer. It has
the advantage that it no longer uses tricky C++ rules, and is clearly correct while
I'm not sure the previous version was. This was inspired by g++-4.6 pointing out
that SmallPtrSetImpl was writing off the end of SmallArray, which it was. Since
SmallArray is replaced with a bigger array in SmallPtrSet, the write was still to
valid memory. But it was writing off the end of the declared array type - sounds
kind of dubious to me, like it sounded dubious to g++-4.6. Maybe g++-4.6 is wrong
and this construct is perfectly valid and correctly compiled by all compilers, but
I think it is better to avoid the whole can of worms by avoiding this construct.
llvm-svn: 107285
|