Skip to content
  1. Nov 11, 2010
  2. 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
  3. Nov 03, 2010
  4. Nov 02, 2010
  5. Nov 01, 2010
  6. Oct 30, 2010
  7. Oct 29, 2010
  8. Oct 28, 2010
  9. Oct 27, 2010
  10. Oct 23, 2010
    • Jakob Stoklund Olesen's avatar
      Be more strict about detecting multi-use blocks for isolation. · 4cf8fe31
      Jakob Stoklund Olesen authored
      When a block has exactly two uses and the register is both live-in and live-out,
      don't isolate the block. We would be inserting two copies, so we haven't really
      made any progress.
      
      If the live-in and live-out values separate into disconnected components after
      splitting, we would be making progress. We can't detect that for now.
      
      llvm-svn: 117169
      4cf8fe31
  11. Oct 22, 2010
  12. Oct 21, 2010
  13. Oct 15, 2010
  14. Oct 14, 2010
  15. Oct 09, 2010
  16. Oct 08, 2010
    • Jakob Stoklund Olesen's avatar
      After splitting, the remaining LiveInterval may be fragmented into multiple · 0f1677e1
      Jakob Stoklund Olesen authored
      connected components. These components should be allocated different virtual
      registers because there is no reason for them to be allocated together.
      
      Add the ConnectedVNInfoEqClasses class to calculate the connected components,
      and move values to new LiveIntervals.
      
      Use it from SplitKit::rewrite by creating new virtual registers for the
      components.
      
      llvm-svn: 116006
      0f1677e1
  17. Oct 07, 2010
  18. Oct 06, 2010
  19. Oct 05, 2010
  20. Sep 25, 2010
  21. Sep 22, 2010
    • Jakob Stoklund Olesen's avatar
      Build the complement interval dupli after the split intervals instead of · 6f8bd42e
      Jakob Stoklund Olesen authored
      creating it before and subtracting split ranges.
      
      This way, the SSA update code in LiveIntervalMap can properly create and use new
      phi values in dupli. Now it is possible to create split regions where a value
      escapes along two different CFG edges, creating phi values outside the split
      region.
      
      This is a work in progress and probably quite broken.
      
      llvm-svn: 114492
      6f8bd42e
Loading