Skip to content
  • Jakob Stoklund Olesen's avatar
    Allow allocatable ranges from global live range splitting to be split again. · 6a663b8d
    Jakob Stoklund Olesen authored
    These intervals are allocatable immediately after splitting, but they may be
    evicted because of later splitting. This is rare, but when it happens they
    should be split again.
    
    The remainder intervals that cannot be allocated after splitting still move
    directly to spilling.
    
    SplitEditor::finish can optionally provide a mapping from new live intervals
    back to the original interval indexes returned by openIntv().
    
    Each original interval index can map to multiple new intervals after connected
    components have been separated. Dead code elimination may also add existing
    intervals to the list.
    
    The reverse mapping allows the SplitEditor client to treat the new intervals
    differently depending on the split region they came from.
    
    llvm-svn: 129925
    6a663b8d
Loading