Skip to content
  1. Jul 25, 2011
  2. Jul 24, 2011
  3. Jul 23, 2011
    • Jakob Stoklund Olesen's avatar
      Add RAGreedy::calcCompactRegion. · ecad62f9
      Jakob Stoklund Olesen authored
      This method computes the edge bundles that should be live when splitting
      around a compact region. This is independent of interference.
      
      The function returns false if the live range was already a compact
      region, or the compact region doesn't have any live bundles - it would
      be the same as splitting around basic blocks.
      
      Compact regions are computed using the normal spill placement code. We
      pretend there is interference in all live-through blocks that don't use
      the live range. This removes all edges from the Hopfield network used
      for spill placement, so it converges instantly.
      
      llvm-svn: 135847
      ecad62f9
    • Jakob Stoklund Olesen's avatar
      Fix bug in SplitEditor::splitLiveThroughBlock when switching registers. · f500ccec
      Jakob Stoklund Olesen authored
      If there is no interference and no last split point, we cannot
      enterIntvBefore(Stop) - that function needs a real instruction.
      
      Use enterIntvAtEnd instead for that very easy case.
      
      This code doesn't currently run, it is needed by multi-way splitting.
      
      llvm-svn: 135846
      f500ccec
Loading