aboutsummaryrefslogtreecommitdiff
path: root/lldb/scripts/Python
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-07-02 01:37:09 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-07-02 01:37:09 +0000
commit30a8563a61f562ea9a2b5c840c8eba5b93f91f77 (patch)
treefe72c96c5c121d0abf8d8f04eaa0aaecb5e75fe6 /lldb/scripts/Python
parent4326dd9bcca4b5ce7ec3e2deca7602626218a6c0 (diff)
downloadllvm-30a8563a61f562ea9a2b5c840c8eba5b93f91f77.zip
llvm-30a8563a61f562ea9a2b5c840c8eba5b93f91f77.tar.gz
llvm-30a8563a61f562ea9a2b5c840c8eba5b93f91f77.tar.bz2
Use a new strategy for preventing eviction loops in RAGreedy.
Every live range is assigned a cascade number the first time it is involved in an eviction. As the evictor, it gets a new cascade number. Every evictee is assigned the same cascade number as the evictor. Eviction is prohibited if the evictor has a lower assigned cascade number than the evictee. This means that assigned cascade numbers are monotonically increasing with every eviction, yet they are bounded by NextCascade which can only be incremented by new live ranges. Thus, infinite loops cannot happen, but eviction cascades can still be triggered by new live ranges as we want. Thanks to Andy for explaining this to me. llvm-svn: 134303
Diffstat (limited to 'lldb/scripts/Python')
0 files changed, 0 insertions, 0 deletions