- Jun 28, 2013
-
-
David Blaikie authored
This is a precursor to adding debug info support for TLS which requires non-default relocations applied to TLS symbols. llvm-svn: 185202
-
David Blaikie authored
llvm-svn: 185190
-
David Blaikie authored
llvm-svn: 185189
-
David Blaikie authored
llvm-svn: 185188
-
Lang Hames authored
should expand ATOMIC_CMP_SWAP nodes the same way that it does for ATOMIC_SWAP. Since ATOMIC_LOADs on some targets (e.g. older ARM variants) get legalized to ATOMIC_CMP_SWAPs, the missing case had been causing i64 atomic loads to crash during isel. <rdar://problem/14074644> llvm-svn: 185186
-
Manman Ren authored
No functionality change. It should suffice to check the type of a debug info metadata, instead of calling Verify. For cases where we know the type of a DI metadata, use assert. Also update testing cases to make them conform to the format of DI classes. llvm-svn: 185135
-
- Jun 27, 2013
-
-
Benjamin Kramer authored
llvm-svn: 185072
-
- Jun 26, 2013
-
-
Elena Demikhovsky authored
llvm-svn: 184933
-
Elena Demikhovsky authored
Optimized integer vector multiplication operation by replacing it with shift/xor/sub when it is possible. Fixed a bug in SDIV, where the const operand is not a splat constant vector. llvm-svn: 184931
-
- Jun 25, 2013
-
-
Manman Ren authored
llvm-svn: 184866
-
Benjamin Kramer authored
This is a band-aid to fix the most severe regressions we're seeing from basing spill decisions on block frequencies, until we have a better solution. llvm-svn: 184835
-
Eric Christopher authored
llvm-svn: 184792
-
- Jun 24, 2013
-
-
Eric Christopher authored
llvm-svn: 184788
-
Eric Christopher authored
never modified. No functional change. llvm-svn: 184781
-
Andrew Trick authored
This makes it possible to write unit tests that are less susceptible to minor code motion, particularly copy placement. block-placement.ll covers this case with -pre-RA-sched=source which will soon be default. One incorrectly named block is already fixed, but without this fix, enabling new coalescing and scheduling would cause more failures. llvm-svn: 184680
-
- Jun 23, 2013
-
-
David Blaikie authored
llvm-svn: 184669
-
- Jun 22, 2013
-
-
David Blaikie authored
llvm-svn: 184643
-
Chad Rosier authored
llvm-svn: 184642
-
Andrew Trick authored
We have no targets on trunk that bundle before regalloc. However, we have been advertising regalloc as bundle safe for use with out-of-tree targets. We need to at least contain the parts of the code that are still unsafe. llvm-svn: 184620
-
David Blaikie authored
A FastISel optimization was causing us to emit no information for such parameters & when they go missing we end up emitting a different function type. By avoiding that shortcut we not only get types correct (very important) but also location information (handy) - even if it's only live at the start of a function & may be clobbered later. Reviewed/discussion by Evan Cheng & Dan Gohman. llvm-svn: 184604
-
- Jun 21, 2013
-
-
Michael Liao authored
When (srl (anyextend x), c) is folded into (anyextend (srl x, c)), the high bits are not cleared. Add 'and' to clear off them. llvm-svn: 184575
-
Andrew Trick authored
llvm-svn: 184574
-
Andrew Trick authored
llvm-svn: 184573
-
Andrew Trick authored
Live intervals for dead physregs may be created during coalescing. We need to update these in the event that their instruction goes away. crash.ll is the unit test that catches it when MI sched is enabled on X86. llvm-svn: 184572
-
Andrew Trick authored
I want to add logic to handle more cases. llvm-svn: 184571
-
Andrew Trick authored
llvm-svn: 184570
-
Andrew Trick authored
llvm-svn: 184569
-
Andrew Trick authored
Always coalesce in forward order to propagate rematerialization. I'm fixing this option so I can enable it by default soon. llvm-svn: 184568
-
Andrew Trick authored
llvm-svn: 184567
-
Andrew Trick authored
llvm-svn: 184565
-
Andrew Trick authored
llvm-svn: 184564
-
- Jun 20, 2013
-
-
David Blaikie authored
Fix up three tests - one that was relying on abbreviation number, another relying on a location list in this case (& testing raw asm, changed that to use dwarfdump on the debug_info now that that's where the location is), and another which was added in r184368 - exposing a bug in that fix that is exposed when we emit the location inline rather than through a location list. Fix that bug while I'm here. llvm-svn: 184387
-
Bill Wendling authored
llvm-svn: 184376
-
Bill Wendling authored
llvm-svn: 184373
-
- Jun 19, 2013
-
-
David Blaikie authored
We had been papering over a problem with location info for non-trivial types passed by value by emitting their type as references (this caused the debugger to interpret the location information correctly, but broke the type of the function). r183329 corrected the type information but lead to the debugger interpreting the pointer parameter as the value - the debug info describing the location needed an extra dereference. Use a new flag in DIVariable to add the extra indirection (either by promoting an existing DW_OP_reg (parameter passed in a register) to DW_OP_breg + 0 or by adding DW_OP_deref to an existing DW_OP_breg + n (parameter passed on the stack). llvm-svn: 184368
-
Bill Wendling authored
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change. llvm-svn: 184360
-
Bill Wendling authored
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change. llvm-svn: 184352
-
Bill Wendling authored
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change. llvm-svn: 184349
-
Bill Wendling authored
llvm-svn: 184346
-
- Jun 18, 2013
-
-
Quentin Colombet authored
value is zero. This allows optmizations to kick in more easily. Fix some test cases so that they remain meaningful (i.e., not completely dead coded) when optimizations apply. <rdar://problem/14096009> superfluous multiply by high part of zero-extended value. llvm-svn: 184222
-