- Jun 25, 2013
-
-
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
-
Timur Iskhodzhanov authored
llvm-svn: 184178
-
Bill Wendling authored
Someone may want to do something crazy, like replace these objects if they change or something. No functionality change intended. llvm-svn: 184175
-
Bill Wendling authored
llvm-svn: 184172
-
- Jun 17, 2013
-
-
Andrew Trick authored
llvm-svn: 184135
-
Andrew Trick authored
llvm-svn: 184133
-
Andrew Trick authored
A complex, expensive heuristic with little value in the current design. llvm-svn: 184132
-
Andrew Trick authored
llvm-svn: 184131
-
Andrew Trick authored
llvm-svn: 184130
-
Andrew Trick authored
This eliminates the MultiPressure scheduling "reason". It was sensitive to queue order. We don't like being sensitive to queue order. llvm-svn: 184129
-
Bill Wendling authored
llvm-svn: 184121
-
Benjamin Kramer authored
The main advantages here are way better heuristics, taking into account not just loop depth but also __builtin_expect and other static heuristics and will eventually learn how to use profile info. Most of the work in this patch is pushing the MachineBlockFrequencyInfo analysis into the right places. This is good for a 5% speedup on zlib's deflate (x86_64), there were some very unfortunate spilling decisions in its hottest loop in longest_match(). Other benchmarks I tried were mostly neutral. This changes register allocation in subtle ways, update the tests for it. 2012-02-20-MachineCPBug.ll was deleted as it's very fragile and the instruction it looked for was gone already (but the FileCheck pattern picked up unrelated stuff). llvm-svn: 184105
-