Skip to content
  • Jakob Stoklund Olesen's avatar
    Add support for multi-way live range splitting. · dab4b9a4
    Jakob Stoklund Olesen authored
    When splitting global live ranges, it is now possible to split for
    multiple destination intervals at once. Previously, we only had the main
    and stack intervals.
    
    Each edge bundle is assigned to a split candidate, and splitAroundRegion
    will insert copies between the candidate intervals and the stack
    interval as needed.
    
    The multi-way splitting is used to split around compact regions when
    enabled with -compact-regions. The best candidate register still gets
    all the bundles it wants, but everything outside the main interval is
    first split around compact regions before we create single-block
    intervals.
    
    Compact region splitting still causes some regressions, so it is not
    enabled by default.
    
    llvm-svn: 136186
    dab4b9a4
Loading