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