Andrew Trick
67c084b14c
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
e603d6aa71
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
af9fb59623
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
a3ebac4349
Check output of the misched unit tests
...
llvm-svn: 165959
2012-10-15 20:33:14 +00:00
Jakob Stoklund Olesen
914857b29a
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
6d2db5c3d9
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
20f2192d37
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
94d892c492
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
f298457c8c
misched: tag a few XFAILs that I plan to fix
...
llvm-svn: 153222
2012-03-21 22:31:31 +00:00