David Goodwin
|
e1d06f2239
|
Allow target to specify regclass for which antideps will only be broken along the critical path.
llvm-svn: 88682
|
2009-11-13 19:52:48 +00:00 |
|
David Goodwin
|
805a319014
|
Rename registers to break output dependencies in addition to anti-dependencies.
llvm-svn: 87015
|
2009-11-12 19:08:21 +00:00 |
|
David Goodwin
|
538f9c25f8
|
Allow targets to specify register classes whose member registers should not be renamed to break anti-dependencies.
llvm-svn: 86628
|
2009-11-10 00:15:47 +00:00 |
|
David Goodwin
|
8a18560a67
|
Fix bug in aggressive antidep breaking; liveness was not updated correctly for regions that do not have antidep candidates.
llvm-svn: 86172
|
2009-11-05 21:06:09 +00:00 |
|
David Goodwin
|
66b5886123
|
Replace std::map.at() with std::map[].
llvm-svn: 86102
|
2009-11-05 01:45:50 +00:00 |
|
David Goodwin
|
5ddf009b51
|
Break anti-dependencies using free registers in a round-robin manner to avoid introducing new anti-dependencies.
llvm-svn: 86098
|
2009-11-05 01:19:35 +00:00 |
|
David Goodwin
|
629a685f05
|
Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed.
llvm-svn: 85939
|
2009-11-03 20:57:50 +00:00 |
|
David Goodwin
|
9a91b1fe3d
|
Between scheduling regions, correctly maintain anti-dep breaking state so that we don't incorrectly rename registers that span these regions.
llvm-svn: 85537
|
2009-10-29 23:30:59 +00:00 |
|
David Goodwin
|
ad8a169be4
|
Fix a couple of bugs in aggressive anti-dep breaking.
llvm-svn: 85522
|
2009-10-29 19:17:04 +00:00 |
|
David Goodwin
|
0b5b62bfcf
|
Allow the aggressive anti-dep breaker to process the same region multiple times. This is necessary because new anti-dependencies are exposed when "current" ones are broken.
llvm-svn: 85166
|
2009-10-26 22:31:16 +00:00 |
|
David Goodwin
|
62dc7a4d93
|
Add aggressive anti-dependence breaker. Currently it is not the default for any target. Enable with -break-anti-dependencies=all.
llvm-svn: 85145
|
2009-10-26 19:32:42 +00:00 |
|