Skip to content
  1. Oct 18, 2010
  2. Oct 16, 2010
  3. Oct 14, 2010
  4. Oct 10, 2010
  5. Oct 08, 2010
  6. Oct 01, 2010
  7. Sep 30, 2010
  8. Sep 29, 2010
  9. Sep 27, 2010
  10. Sep 25, 2010
    • Owen Anderson's avatar
      LoadPRE was not properly checking that the load it was PRE'ing post-dominated... · b590a927
      Owen Anderson authored
      LoadPRE was not properly checking that the load it was PRE'ing post-dominated the block it was being hoisted to.
      Splitting critical edges at the merge point only addressed part of the issue; it is also possible for non-post-domination
      to occur when the path from the load to the merge has branches in it.  Unfortunately, full anticipation analysis is
      time-consuming, so for now approximate it.  This is strictly more conservative than real anticipation, so we will miss
      some cases that real PRE would allow, but we also no longer insert loads into paths where they didn't exist before. :-)
      
      This is a very slight net positive on SPEC for me (0.5% on average).  Most of the benchmarks are largely unaffected, but
      when it pays off it pays off decently: 181.mcf improves by 4.5% on my machine.
      
      llvm-svn: 114785
      b590a927
  11. Sep 24, 2010
  12. Sep 18, 2010
  13. Sep 17, 2010
  14. Sep 16, 2010
  15. Sep 15, 2010
  16. Sep 14, 2010
  17. Sep 13, 2010
  18. Sep 12, 2010
  19. Sep 11, 2010
  20. Sep 09, 2010
  21. Sep 07, 2010
  22. Sep 06, 2010
Loading