Skip to content
  1. Aug 18, 2010
    • Jakob Stoklund Olesen's avatar
      Add the LiveIntervalMap class. Don't hook it up yet. · ce6f055b
      Jakob Stoklund Olesen authored
      LiveIntervalMap maps values from a parent LiveInterval to a child interval that
      is a strict subset. It will create phi-def values as needed to preserve the
      VNInfo SSA form in the child interval.
      
      This leads to an algorithm very similar to the one in SSAUpdaterImpl.h, but with
      enough differences that the code can't be reused:
      
      - We don't need to manipulate PHI instructions.
      - LiveIntervals have kills.
      - We have MachineDominatorTree.
      - We can use df_iterator.
      
      llvm-svn: 111393
      ce6f055b
  2. Aug 14, 2010
    • Jakob Stoklund Olesen's avatar
      Clean up the Spiller.h interface. · 27e1f265
      Jakob Stoklund Olesen authored
      The earliestStart argument is entirely specific to linear scan allocation, and
      can be easily calculated by RegAllocLinearScan.
      
      Replace std::vector with SmallVector.
      
      llvm-svn: 111055
      27e1f265
  3. Aug 13, 2010
  4. Aug 12, 2010
    • Jakob Stoklund Olesen's avatar
      Implement single block splitting. · 622848b2
      Jakob Stoklund Olesen authored
      Before spilling a live range, we split it into a separate range for each basic
      block where it is used. That way we only get one reload per basic block if the
      new smaller ranges can allocate to a register.
      
      This type of splitting is already present in the standard spiller.
      
      llvm-svn: 110934
      622848b2
  5. Aug 10, 2010
  6. Aug 07, 2010
  7. Aug 05, 2010
  8. Jul 27, 2010
  9. Jul 21, 2010
  10. Jul 20, 2010
Loading