Skip to content
  1. Feb 02, 2011
  2. Jan 21, 2011
  3. Jan 16, 2011
  4. Dec 22, 2010
  5. Dec 20, 2010
  6. Dec 19, 2010
  7. Nov 29, 2010
  8. Nov 23, 2010
  9. Nov 22, 2010
  10. 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
  11. Oct 23, 2010
  12. Oct 08, 2010
  13. Oct 07, 2010
  14. Jul 22, 2010
  15. Jul 09, 2010
  16. Jun 24, 2010
  17. May 27, 2010
  18. Apr 17, 2010
  19. Apr 16, 2010
  20. Apr 15, 2010
  21. Feb 16, 2010
  22. Feb 15, 2010
  23. Jan 08, 2010
  24. Jan 05, 2010
Loading