Skip to content
  • Jakob Stoklund Olesen's avatar
    Use a new strategy for preventing eviction loops in RAGreedy. · 30a8563a
    Jakob Stoklund Olesen authored
    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
    30a8563a
Loading