Skip to content
  1. 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
  2. Sep 04, 2010
  3. Sep 02, 2010
    • Duncan Sands's avatar
      Reapply commit 112699, speculatively reverted by echristo, since · 6778149f
      Duncan Sands authored
      I'm sure it is harmless.  Original commit message:
      If PrototypeValue is erased in the middle of using the SSAUpdator
      then the SSAUpdator may access freed memory.  Instead, simply pass
      in the type and name explicitly, which is all that was used anyway.
      
      llvm-svn: 112810
      6778149f
  4. Sep 01, 2010
  5. Aug 29, 2010
  6. Aug 07, 2010
  7. Aug 06, 2010
  8. Jul 22, 2010
  9. Jul 09, 2010
  10. Jun 30, 2010
  11. Jun 24, 2010
  12. Jun 22, 2010
  13. May 28, 2010
  14. May 08, 2010
  15. May 05, 2010
  16. May 04, 2010
  17. Apr 17, 2010
  18. Apr 16, 2010
  19. Apr 15, 2010
  20. Apr 09, 2010
  21. Mar 25, 2010
  22. Mar 02, 2010
  23. Mar 01, 2010
  24. Feb 28, 2010
  25. Feb 26, 2010
  26. Feb 24, 2010
    • Daniel Dunbar's avatar
      Reapply r97010, the speculative revert failed. · 693ea892
      Daniel Dunbar authored
      llvm-svn: 97036
      693ea892
    • Daniel Dunbar's avatar
      Speculatively revert r97010, "Add an argument to PHITranslateValue to specify · 0a2031e5
      Daniel Dunbar authored
      the DominatorTree. ...", in hopes of restoring poor old PPC bootstrap.
      
      llvm-svn: 97027
      0a2031e5
    • Bob Wilson's avatar
      Add an argument to PHITranslateValue to specify the DominatorTree. If this · 66e58ac7
      Bob Wilson authored
      argument is non-null, pass it along to PHITranslateSubExpr so that it can
      prefer using existing values that dominate the PredBB, instead of just
      blindly picking the first equivalent value that it finds on a uselist.
      Also when the DominatorTree is specified, have PHITranslateValue filter
      out any result that does not dominate the PredBB.  This is basically just
      refactoring the check that used to be in GetAvailablePHITranslatedSubExpr
      and also in GVN.
      
      Despite my initial expectations, this change does not affect the results
      of GVN for any testcases that I could find, but it should help compile time.
      Before this change, if PHITranslateSubExpr picked a value that does not
      dominate, PHITranslateWithInsertion would then insert a new value, which GVN
      would later determine to be redundant and would replace.  By picking a good
      value to begin with, we save GVN the extra work of inserting and then
      replacing a new value.
      
      llvm-svn: 97010
      66e58ac7
Loading