Evan Cheng
|
36f3adfe7f
|
Add a fixme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58514 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-31 16:41:59 +00:00 |
|
Evan Cheng
|
5489893867
|
- More pre-split fixes: spill slot live interval computation bug; restore point bug.
- If a def is spilt, remember its spill index to allow its reuse.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58375 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-29 08:39:34 +00:00 |
|
Evan Cheng
|
d0e32c5d5c
|
- Rewrite code that update register live interval that's split.
- Create and update spill slot live intervals.
- Lots of bug fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58367 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-29 05:06:14 +00:00 |
|
Evan Cheng
|
1f08cc2d2b
|
If def is in the same mbb as the barrier, spilt the value after the last use before the barrier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58314 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-28 05:28:21 +00:00 |
|
Evan Cheng
|
ae7fa5bef1
|
Add command line option to limit the number splits to help debugging.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58312 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-28 01:48:24 +00:00 |
|
Evan Cheng
|
f62ce370a4
|
Avoid putting a split past the end of the live range; always shrink wrap live interval in the barrier mbb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58309 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-28 00:47:49 +00:00 |
|
Evan Cheng
|
985921e846
|
Silence a bogus compile time warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58297 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-27 23:29:28 +00:00 |
|
Evan Cheng
|
b3990d5e94
|
Remove val# defined by a remat'ed def that is now dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58294 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-27 23:21:01 +00:00 |
|
Evan Cheng
|
23066288fd
|
For now, don't split live intervals around x87 stack register barriers. FpGET_ST0_80 must be right after a call instruction (and ADJCALLSTACKUP) so we need to find a way to prevent reload of x87 registers between them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58230 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-27 07:14:50 +00:00 |
|
Evan Cheng
|
aaf510c932
|
Do not shrink wrap live interval in a mbb if it's livein any of its successor blocks. The mbb can be revisited again after all of the successors are processed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58184 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-26 07:49:03 +00:00 |
|
Evan Cheng
|
79d5b5acae
|
Handle cases where there aren't uses in the barrier mbb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58174 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-25 23:49:39 +00:00 |
|
Evan Cheng
|
78dfef771b
|
If val# def is ~0U, meaning it's defined by a PHI, and it's previously split, spill before the barrier because it's impossible to determine if all the defs are spilled in the same spill slot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58129 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-25 00:52:41 +00:00 |
|
Evan Cheng
|
56ab0def90
|
Fix a pasto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58102 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-24 18:46:44 +00:00 |
|
Evan Cheng
|
2efe3fd79a
|
Fix a end() dereference; remove an abort() that wasn't meant to be left in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58072 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-24 05:53:44 +00:00 |
|
Evan Cheng
|
06587497dc
|
Avoid splitting an interval multiple times; avoid splitting re-materializable val# (for now).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58068 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-24 02:05:00 +00:00 |
|
Evan Cheng
|
f5cd4f0d70
|
Committing a good chunk of the pre-register allocation live interval splitting pass. It's handling simple cases and appear to do good things. Next: avoid splitting an interval multiple times; renumber registers when possible; record stack slot live intervals for coloring; rematerialize defs when possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58044 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-23 20:43:13 +00:00 |
|
Evan Cheng
|
09e8ca8a58
|
Add skeleton for the pre-register allocation live interval splitting pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57847 91177308-0d34-0410-b5e6-96231b3b80d8
|
2008-10-20 21:44:59 +00:00 |
|