aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/SourceMgr.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-05-31 21:02:44 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-05-31 21:02:44 +0000
commit73e18b7aea515f1889e9485cc8bcbe4c196e5546 (patch)
tree02ccb0b982dda542e8e7c31fa6fe34512bb6853d /llvm/lib/Support/SourceMgr.cpp
parent2780e4545a9bdbbd970d19e1b17bee1d17cbac5d (diff)
downloadllvm-73e18b7aea515f1889e9485cc8bcbe4c196e5546.zip
llvm-73e18b7aea515f1889e9485cc8bcbe4c196e5546.tar.gz
llvm-73e18b7aea515f1889e9485cc8bcbe4c196e5546.tar.bz2
Simplify the eviction policy by making the failsafe explicit.
When assigned ranges are evicted, they are put in the RS_Evicted stage and are not allowed to evict anything else. That prevents looping automatically. When evicting ranges just to get a cheaper register, use only spill weights to find the possible candidates. Avoid breaking hints for this purpose, it is not worth it. Start implementing more complex eviction heuristics, guarded by the temporary -complex-eviction flag. The initial version permits a heavier range to be evicted if it doesn't have any uses where the evicting range is live. This makes it a good candidate for live ranfge splitting. llvm-svn: 132358
Diffstat (limited to 'llvm/lib/Support/SourceMgr.cpp')
0 files changed, 0 insertions, 0 deletions