Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Precompute block frequencies, pow() isn't free. | Jakob Stoklund Olesen | 2011-03-04 | 1 | -2/+7 |
| | | | | llvm-svn: 126975 | ||||
* | Add RAGreedy methods for splitting live ranges around regions. | Jakob Stoklund Olesen | 2011-01-18 | 1 | -1/+4 |
| | | | | | | | | | | Analyze the live range's behavior entering and leaving basic blocks. Compute an interference pattern for each allocation candidate, and use SpillPlacement to find an optimal region where that register can be live. This code is still not enabled. llvm-svn: 123774 | ||||
* | Add the SpillPlacement analysis pass. | Jakob Stoklund Olesen | 2011-01-06 | 1 | -0/+105 |
This pass precomputes CFG block frequency information that can be used by the register allocator to find optimal spill code placement. Given an interference pattern, placeSpills() will compute which basic blocks should have the current variable enter or exit in a register, and which blocks prefer the stack. The algorithm is ready to consume block frequencies from profiling data, but for now it gets by with the static estimates used for spill weights. This is a work in progress and still not hooked up to RegAllocGreedy. llvm-svn: 122938 |