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