Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Update to in-place spilling framework. Includes live interval scaling and ↵ | Lang Hames | 2009-06-02 | 1 | -0/+9 |
| | | | | | | trivial rewriter. llvm-svn: 72729 | ||||
* | In some rare cases, the register allocator can spill registers but end up ↵ | Evan Cheng | 2009-05-03 | 1 | -3/+9 |
| | | | | | | | | | | not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all. VirtRegMap keeps track of allocations so it knows what's not used. As a horrible hack, the stack coloring can color spill slots with *free* registers. That is, it replace reload and spills with copies from and to the free register. It unfold instructions that load and store the spill slot and replace them with register using variants. Not yet enabled. This is part 1. More coming. llvm-svn: 70787 | ||||
* | Livestacks really does preserve everything. | Evan Cheng | 2008-09-22 | 1 | -2/+1 |
| | | | | llvm-svn: 56476 | ||||
* | Instead of setPreservesAll, just mark them preseving machine loop info and ↵ | Evan Cheng | 2008-09-22 | 1 | -1/+2 |
| | | | | | | machine dominators. llvm-svn: 56475 | ||||
* | Mark several codegen passes as preserving all analysis. | Evan Cheng | 2008-09-22 | 1 | -0/+1 |
| | | | | llvm-svn: 56469 | ||||
* | Add a stack slot coloring pass. Not yet enabled. | Evan Cheng | 2008-06-04 | 1 | -0/+50 |
llvm-svn: 51934 |