David Goodwin
|
b9fe5d5d02
|
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
|
da83f7d58b
|
Rename registers to break output dependencies in addition to anti-dependencies.
llvm-svn: 87015
|
2009-11-12 19:08:21 +00:00 |
David Goodwin
|
cf89db135e
|
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
|
bed7cb6c1d
|
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
|
542649463b
|
Replace std::map.at() with std::map[].
llvm-svn: 86102
|
2009-11-05 01:45:50 +00:00 |
David Goodwin
|
7d8878add2
|
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
|
8501dbbe10
|
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
|
faa7660fd0
|
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
|
9f1b2d4619
|
Fix a couple of bugs in aggressive anti-dep breaking.
llvm-svn: 85522
|
2009-10-29 19:17:04 +00:00 |
David Goodwin
|
e056d1077e
|
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
|
de11f36ab7
|
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 |