David Goodwin
|
990d285765
|
<rdar://problem/7453528>. Track only physical registers that are valid for the target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90970 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-12-09 17:18:22 +00:00 |
|
David Goodwin
|
2601329106
|
<rdar://problem/6721894>. Allow multiple registers to be renamed together (super and sub) if necessary to break an anti-dependence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89722 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-11-24 00:59:08 +00:00 |
|
David Goodwin
|
00621efb40
|
Restructure code to allow renaming of multiple-register groups for anti-dep breaking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89511 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-11-20 23:33:54 +00:00 |
|
David Goodwin
|
557bbe6b5d
|
Remove some old experimental code that is no longer needed. Remove additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89471 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-11-20 19:32:48 +00:00 |
|
David Goodwin
|
3e72d301e0
|
Fix a couple of problems with maintaining liveness information for antidep breaking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89404 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-11-19 23:12:37 +00:00 |
|
David Goodwin
|
87d21b92fc
|
Allow target to specify regclass for which antideps will only be broken along the critical path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88682 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-11-13 19:52:48 +00:00 |
|
David Goodwin
|
12dd99dc30
|
Rename registers to break output dependencies in addition to anti-dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87015 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-11-12 19:08:21 +00:00 |
|
David Goodwin
|
0855dee564
|
Allow targets to specify register classes whose member registers should not be renamed to break anti-dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86628 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-11-10 00:15:47 +00:00 |
|
David Goodwin
|
7040d6e2f5
|
Fix bug in aggressive antidep breaking; liveness was not updated correctly for regions that do not have antidep candidates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86172 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-11-05 21:06:09 +00:00 |
|
David Goodwin
|
98f2f1aff8
|
Replace std::map.at() with std::map[].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86102 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-11-05 01:45:50 +00:00 |
|
David Goodwin
|
54097836f3
|
Break anti-dependencies using free registers in a round-robin manner to avoid introducing new anti-dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86098 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-11-05 01:19:35 +00:00 |
|
David Goodwin
|
4de099d8ca
|
Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85939 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-11-03 20:57:50 +00:00 |
|
David Goodwin
|
5b3c308970
|
Between scheduling regions, correctly maintain anti-dep breaking state so that we don't incorrectly rename registers that span these regions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85537 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-10-29 23:30:59 +00:00 |
|
David Goodwin
|
67a8a7b3bd
|
Fix a couple of bugs in aggressive anti-dep breaking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85522 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-10-29 19:17:04 +00:00 |
|
David Goodwin
|
e10deca33e
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85166 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-10-26 22:31:16 +00:00 |
|
David Goodwin
|
348777110a
|
Add aggressive anti-dependence breaker. Currently it is not the default for any target. Enable with -break-anti-dependencies=all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85145 91177308-0d34-0410-b5e6-96231b3b80d8
|
2009-10-26 19:32:42 +00:00 |
|