Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix a bug introduced by my previous patch. With this change, SPEC is now ↵ | Owen Anderson | 2008-11-18 | 1 | -1/+1 | |
| | | | | | | clean with prealloc splitting enabled. llvm-svn: 59544 | |||||
* | Don't allow the restore point to be placed after terminators. With this change, | Owen Anderson | 2008-11-13 | 1 | -2/+2 | |
| | | | | | | | MultiSource/Applications is clean with the prealloc splitter. Some failures remain in SPEC. llvm-svn: 59267 | |||||
* | Don't walk into predecessors in which the vreg is not live when doing ↵ | Owen Anderson | 2008-11-11 | 1 | -0/+2 | |
| | | | | | | | | shrinkwrapping. This lets several failing tests get farther along, but doesn't completely fix any of them. llvm-svn: 59086 | |||||
* | Use the new predicate to control when we do prealloc splitting. Fix a small ↵ | Owen Anderson | 2008-11-05 | 1 | -1/+5 | |
| | | | | | | bug. llvm-svn: 58738 | |||||
* | First pass at checking for the creation of a new join point when doing ↵ | Owen Anderson | 2008-11-04 | 1 | -0/+73 | |
| | | | | | | pre-alloc splitting. This is not turned on yet. llvm-svn: 58726 | |||||
* | Revert my last patch until I consult with Evan about it. | Owen Anderson | 2008-11-03 | 1 | -10/+0 | |
| | | | | llvm-svn: 58591 | |||||
* | Don't do pre-splitting if doing so would create a value join that did not | Owen Anderson | 2008-11-02 | 1 | -0/+10 | |
| | | | | | | | | | exist before. Updating the live intervals in that care is tricky in the general case. Evan, if you see a tighter guard condition for this, let me know. llvm-svn: 58560 | |||||
* | Add a fixme. | Evan Cheng | 2008-10-31 | 1 | -0/+3 | |
| | | | | llvm-svn: 58514 | |||||
* | - More pre-split fixes: spill slot live interval computation bug; restore ↵ | Evan Cheng | 2008-10-29 | 1 | -38/+93 | |
| | | | | | | | | point bug. - If a def is spilt, remember its spill index to allow its reuse. llvm-svn: 58375 | |||||
* | - Rewrite code that update register live interval that's split. | Evan Cheng | 2008-10-29 | 1 | -81/+152 | |
| | | | | | | | - Create and update spill slot live intervals. - Lots of bug fixes. llvm-svn: 58367 | |||||
* | If def is in the same mbb as the barrier, spilt the value after the last use ↵ | Evan Cheng | 2008-10-28 | 1 | -8/+18 | |
| | | | | | | before the barrier. llvm-svn: 58314 | |||||
* | Add command line option to limit the number splits to help debugging. | Evan Cheng | 2008-10-28 | 1 | -3/+7 | |
| | | | | llvm-svn: 58312 | |||||
* | Avoid putting a split past the end of the live range; always shrink wrap ↵ | Evan Cheng | 2008-10-28 | 1 | -11/+20 | |
| | | | | | | live interval in the barrier mbb. llvm-svn: 58309 | |||||
* | Silence a bogus compile time warning. | Evan Cheng | 2008-10-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 58297 | |||||
* | Remove val# defined by a remat'ed def that is now dead. | Evan Cheng | 2008-10-27 | 1 | -0/+3 | |
| | | | | llvm-svn: 58294 | |||||
* | For now, don't split live intervals around x87 stack register barriers. ↵ | Evan Cheng | 2008-10-27 | 1 | -0/+2 | |
| | | | | | | 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. llvm-svn: 58230 | |||||
* | Do not shrink wrap live interval in a mbb if it's livein any of its ↵ | Evan Cheng | 2008-10-26 | 1 | -6/+21 | |
| | | | | | | successor blocks. The mbb can be revisited again after all of the successors are processed. llvm-svn: 58184 | |||||
* | Handle cases where there aren't uses in the barrier mbb. | Evan Cheng | 2008-10-25 | 1 | -1/+5 | |
| | | | | llvm-svn: 58174 | |||||
* | If val# def is ~0U, meaning it's defined by a PHI, and it's previously ↵ | Evan Cheng | 2008-10-25 | 1 | -9/+11 | |
| | | | | | | split, spill before the barrier because it's impossible to determine if all the defs are spilled in the same spill slot. llvm-svn: 58129 | |||||
* | Fix a pasto. | Evan Cheng | 2008-10-24 | 1 | -1/+1 | |
| | | | | llvm-svn: 58102 | |||||
* | Fix a end() dereference; remove an abort() that wasn't meant to be left in. | Evan Cheng | 2008-10-24 | 1 | -5/+4 | |
| | | | | llvm-svn: 58072 | |||||
* | Avoid splitting an interval multiple times; avoid splitting ↵ | Evan Cheng | 2008-10-24 | 1 | -51/+106 | |
| | | | | | | re-materializable val# (for now). llvm-svn: 58068 | |||||
* | Committing a good chunk of the pre-register allocation live interval ↵ | Evan Cheng | 2008-10-23 | 1 | -12/+571 | |
| | | | | | | 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. llvm-svn: 58044 | |||||
* | Add skeleton for the pre-register allocation live interval splitting pass. | Evan Cheng | 2008-10-20 | 1 | -0/+81 | |
llvm-svn: 57847 |