Skip to content
  1. Mar 02, 2011
    • Jakob Stoklund Olesen's avatar
      Move the value map from LiveIntervalMap to SplitEditor. · 8ef91fc8
      Jakob Stoklund Olesen authored
      The value map is currently not used, all values are 'complex mapped' and
      LiveIntervalMap::mapValue is used to dig them out.
      
      This is the first step in a series changes leading to the removal of
      LiveIntervalMap. Its data structures can be shared among all the live intervals
      created by a split, so it is wasteful to create a copy for each.
      
      llvm-svn: 126800
      8ef91fc8
    • Jakob Stoklund Olesen's avatar
      Delete dead code. · 977e3d3c
      Jakob Stoklund Olesen authored
      Local live range splitting is better driven by interference. This code was just
      guessing.
      
      llvm-svn: 126799
      977e3d3c
  2. Feb 23, 2011
  3. Feb 22, 2011
  4. Feb 19, 2011
  5. Feb 10, 2011
  6. Feb 09, 2011
  7. Feb 08, 2011
  8. Feb 04, 2011
  9. Feb 03, 2011
  10. Jan 26, 2011
  11. Jan 20, 2011
  12. Jan 19, 2011
    • Jakob Stoklund Olesen's avatar
      Implement RAGreedy::splitAroundRegion and remove loop splitting. · 9fb04015
      Jakob Stoklund Olesen authored
      Region splitting includes loop splitting as a subset, and it is more generic.
      The splitting heuristics for variables that are live in more than one block are
      now:
      
      1. Try to create a region that covers multiple basic blocks.
      2. Try to create a new live range for each block with multiple uses.
      3. Spill.
      
      Steps 2 and 3 are similar to what the standard spiller is doing.
      
      llvm-svn: 123853
      9fb04015
  13. Jan 18, 2011
  14. Jan 04, 2011
  15. Dec 22, 2010
  16. Dec 21, 2010
    • Jakob Stoklund Olesen's avatar
      Add EdgeBundles to SplitKit. · 2530cd2a
      Jakob Stoklund Olesen authored
      Edge bundles is an annotation on the CFG that turns it into a bipartite directed
      graph where each basic block is connected to an outgoing and an ingoing bundle.
      These bundles are useful for identifying regions of the CFG for live range
      splitting.
      
      llvm-svn: 122301
      2530cd2a
  17. Dec 18, 2010
  18. Dec 15, 2010
  19. Nov 11, 2010
  20. Nov 10, 2010
    • Jakob Stoklund Olesen's avatar
      Basic rematerialization during splitting. · 6ee7d9aa
      Jakob Stoklund Olesen authored
      Whenever splitting wants to insert a copy, it checks if the value can be
      rematerialized cheaply instead.
      
      Missing features:
      - Delete instructions when all uses have been rematerialized.
      - Truncate live ranges to the remaining uses after rematerialization.
      
      llvm-svn: 118702
      6ee7d9aa
  21. Nov 03, 2010
  22. Nov 02, 2010
  23. Nov 01, 2010
  24. Oct 30, 2010
  25. Oct 29, 2010
Loading