Skip to content
  1. Jan 21, 2011
  2. Jan 20, 2011
    • Duncan Sands's avatar
      At -O123 the early-cse pass is run before instcombine has run. According to my · 8fb2c382
      Duncan Sands authored
      auto-simplier the transform most missed by early-cse is (zext X) != 0 -> X != 0.
      This patch adds this transform and some related logic to InstructionSimplify
      and removes some of the logic from instcombine (unfortunately not all because
      there are several situations in which instcombine can improve things by making
      new instructions, whereas instsimplify is not allowed to do this).  At -O2 this
      often results in more than 15% more simplifications by early-cse, and results in
      hundreds of lines of bitcode being eliminated from the testsuite.  I did see some
      small negative effects in the testsuite, for example a few additional instructions
      in three programs.  One program, 483.xalancbmk, got an additional 35 instructions,
      which seems to be due to a function getting an additional instruction and then
      being inlined all over the place.
      
      llvm-svn: 123911
      8fb2c382
  3. Jan 19, 2011
  4. Jan 18, 2011
  5. Jan 17, 2011
  6. Jan 16, 2011
  7. Jan 15, 2011
Loading