Skip to content
  1. Mar 28, 2011
  2. Mar 17, 2011
  3. Feb 15, 2011
  4. Feb 02, 2011
  5. Jan 21, 2011
  6. Jan 16, 2011
  7. Dec 22, 2010
  8. Dec 20, 2010
  9. Dec 19, 2010
  10. Nov 29, 2010
  11. Nov 23, 2010
  12. Nov 22, 2010
  13. Nov 13, 2010
    • Duncan Sands's avatar
      Generalize the reassociation transform in SimplifyCommutative (now renamed to · 641baf16
      Duncan Sands authored
      SimplifyAssociativeOrCommutative) "(A op C1) op C2" -> "A op (C1 op C2)",
      which previously was only done if C1 and C2 were constants, to occur whenever
      "C1 op C2" simplifies (a la InstructionSimplify).  Since the simplifying operand
      combination can no longer be assumed to be the right-hand terms, consider all of
      the possible permutations.  When compiling "gcc as one big file", transform 2
      (i.e. using right-hand operands) fires about 4000 times but it has to be said
      that most of the time the simplifying operands are both constants.  Transforms
      3, 4 and 5 each fired once.  Transform 6, which is an existing transform that
      I didn't change, never fired.  With this change, the testcase is now optimized
      perfectly with one run of instcombine (previously it required instcombine +
      reassociate + instcombine, and it may just have been luck that this worked).
      
      llvm-svn: 119002
      641baf16
  14. Oct 23, 2010
  15. Oct 08, 2010
  16. Oct 07, 2010
  17. Jul 22, 2010
  18. Jul 09, 2010
  19. Jun 24, 2010
  20. May 27, 2010
  21. Apr 17, 2010
  22. Apr 16, 2010
  23. Apr 15, 2010
  24. Feb 16, 2010
  25. Feb 15, 2010
  26. Jan 08, 2010
Loading