Andrew Trick
7f7cee39ab
RegisterPresssureTracker: Track live physical register by unit.
...
This is much simpler to reason about, more efficient, and
fixes some corner cases involving implicit super-register defs.
Fixed rdar://12797931.
llvm-svn: 169425
2012-12-05 21:37:42 +00:00
Andrew Trick
d5953622ce
misched: Fix the DAG builder to handle an undef operand at ExitSU.
...
Assertion failed: (VNI && "No value to read by operand")
rdar://12790267.
llvm-svn: 169071
2012-12-01 01:22:44 +00:00
Andrew Trick
d9d4be0d57
misched: Added handleMove support for updating all kill flags, not just for allocatable regs.
...
This is a medium term workaround until we have a more robust solution
in the form of a register liveness utility for postRA passes.
llvm-svn: 166001
2012-10-16 00:22:51 +00:00
Andrew Trick
6e5f49d7b7
Check output of the misched unit tests
...
llvm-svn: 165959
2012-10-15 20:33:14 +00:00
Jakob Stoklund Olesen
51c63e64e3
Remove the -live-regunits command line option.
...
Register allocators depend on it being permanently enabled now.
llvm-svn: 158873
2012-06-20 23:31:34 +00:00
Jakob Stoklund Olesen
833308d785
Only update regunit live ranges that have been precomputed.
...
Regunit live ranges are computed on demand, so when mi-sched calls
handleMove, some regunits may not have live ranges yet.
That makes updating them easier: Just skip the non-existing ranges. They
will be computed correctly from the rescheduled machine code when they
are needed.
llvm-svn: 158831
2012-06-20 18:00:57 +00:00
Lang Hames
dd1211b4e1
The shuffle scheduler is only available in asserts build - make misched-new.ll
...
testcase require asserts.
llvm-svn: 153687
2012-03-29 21:11:47 +00:00
Lang Hames
5569ce7d56
Make x86 REP_MOV* and REP_STO instructions use the correct operand sizes in 64-bit mode.
...
llvm-svn: 153680
2012-03-29 19:54:28 +00:00
Andrew Trick
267b57de6f
misched: tag a few XFAILs that I plan to fix
...
llvm-svn: 153222
2012-03-21 22:31:31 +00:00