Jakob Stoklund Olesen
33a1b416ac
Don't run RAFast in the optimizing regalloc pipeline.
...
The fast register allocator is not supposed to work in the optimizing
pipeline. It doesn't make sense to compute live intervals, run full copy
coalescing, and then run RAFast.
Fast register allocation in the optimizing pipeline is better done by
RABasic.
llvm-svn: 158242
2012-06-08 23:15:12 +00:00
Jakob Stoklund Olesen
8ec1a92afd
Linear scan is going away.
...
llvm-svn: 144472
2011-11-12 22:39:34 +00:00
Benjamin Kramer
50cabb5de4
Fix test typo.
...
llvm-svn: 138843
2011-08-31 00:02:59 +00:00
Jakob Stoklund Olesen
38080e8700
Fix a test that keeps breaking when allocation orders change.
...
Who said FileCheck couldn't handle arbitrarily complex conditions?
llvm-svn: 132654
2011-06-04 23:34:40 +00:00
Jakob Stoklund Olesen
e20fec7732
Fix one more batch of X86 tests to be register allocation dependent.
...
llvm-svn: 128919
2011-04-05 20:20:30 +00:00
Dale Johannesen
17feb07c53
In asm's, output operands with matching input constraints
...
have to be registers, per gcc documentation. This affects
the logic for determining what "g" should lower to. PR 7393.
A couple of existing testcases are affected.
llvm-svn: 107079
2010-06-28 22:09:45 +00:00
Jakob Stoklund Olesen
0d94d7af78
Add more special treatment for inline asm in RegAllocFast.
...
When an instruction has tied operands and physreg defines, we must take extra
care that the tied operands conflict with neither physreg defs nor uses.
The special treatment is given to inline asm and instructions with tied operands
/ early clobbers and physreg defines.
This fixes PR7509.
llvm-svn: 107043
2010-06-28 18:34:34 +00:00
Jakob Stoklund Olesen
ec2e964fd6
Remove the local register allocator.
...
Please use the fast allocator instead.
llvm-svn: 106051
2010-06-15 21:58:33 +00:00
Jakob Stoklund Olesen
4d5c1061e3
Simplify the handling of physreg defs and uses in RegAllocFast.
...
This adds extra security against using clobbered physregs, and it adds kill
markers to physreg uses.
llvm-svn: 103784
2010-05-14 18:03:25 +00:00
Jakob Stoklund Olesen
0ba2e2a568
Take allocation hints from copy instructions to/from physregs.
...
This causes way more identity copies to be generated, ripe for coalescing.
llvm-svn: 103686
2010-05-13 00:19:43 +00:00
Jakob Stoklund Olesen
e6e39dc310
Enable a bunch more -regalloc=fast tests
...
llvm-svn: 103531
2010-05-12 00:11:24 +00:00
Evan Cheng
e1b8b5a01b
Fix tests.
...
llvm-svn: 94271
2010-01-23 01:19:28 +00:00
Dan Gohman
40503396da
Eliminate more uses of llvm-as and llvm-dis.
...
llvm-svn: 81290
2009-09-08 23:54:48 +00:00
Evan Cheng
968c3b0d6e
Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies.
...
llvm-svn: 67512
2009-03-23 08:01:15 +00:00
Dale Johannesen
86d421df23
Remove SelectionDag early allocation of registers
...
for earlyclobbers. Teach Local RA about earlyclobber,
and add some tests for it.
llvm-svn: 56592
2008-09-24 23:13:09 +00:00