Skip to content
  1. May 20, 2008
    • Evan Cheng's avatar
      More local spiller complexity! · 0609ab64
      Evan Cheng authored
      If local spiller optimization turns some instruction into an identity copy, it will be removed. If the output register happens to be dead (and source is obviously killed), transfer the kill / dead information to last use / def in the same MBB.
      
      llvm-svn: 51306
      0609ab64
    • Evan Cheng's avatar
      Don't spill dead def. · c8b028da
      Evan Cheng authored
      llvm-svn: 51305
      c8b028da
    • Matthijs Kooijman's avatar
      Fix typo. · 5148a4ba
      Matthijs Kooijman authored
      llvm-svn: 51303
      5148a4ba
    • Chris Lattner's avatar
      Teach instcombine 4 new xforms: · 7ac943ff
      Chris Lattner authored
        (add (sext x), cst) --> (sext (add x, cst'))
        (add (sext x), (sext y)) --> (sext (add int x, y))
        (add double (sitofp x), fpcst) --> (sitofp (add int x, intcst))
        (add double (sitofp x), (sitofp y)) --> (sitofp (add int x, y))
      
      This generally reduces conversions.  For example MiBench/telecomm-gsm
      gets these simplifications:
      
      HACK2: 	%tmp67.i142.i.i = sext i16 %tmp6.i141.i.i to i32		; <i32> [#uses=1]
      	%tmp23.i139.i.i = sext i16 %tmp2.i138.i.i to i32		; <i32> [#uses=1]
      	%tmp8.i143.i.i = add i32 %tmp67.i142.i.i, %tmp23.i139.i.i		; <i32> [#uses=3]
      HACK2: 	%tmp67.i121.i.i = sext i16 %tmp6.i120.i.i to i32		; <i32> [#uses=1]
      	%tmp23.i118.i.i = sext i16 %tmp2.i117.i.i to i32		; <i32> [#uses=1]
      	%tmp8.i122.i.i = add i32 %tmp67.i121.i.i, %tmp23.i118.i.i		; <i32> [#uses=3]
      HACK2: 	%tmp67.i.i190.i = sext i16 %tmp6.i.i189.i to i32		; <i32> [#uses=1]
      	%tmp23.i.i187.i = sext i16 %tmp2.i.i186.i to i32		; <i32> [#uses=1]
      	%tmp8.i.i191.i = add i32 %tmp67.i.i190.i, %tmp23.i.i187.i		; <i32> [#uses=3]
      HACK2: 	%tmp67.i173.i.i.i = sext i16 %tmp6.i172.i.i.i to i32		; <i32> [#uses=1]
      	%tmp23.i170.i.i.i = sext i16 %tmp2.i169.i.i.i to i32		; <i32> [#uses=1]
      	%tmp8.i174.i.i.i = add i32 %tmp67.i173.i.i.i, %tmp23.i170.i.i.i		; <i32> [#uses=3]
      HACK2: 	%tmp67.i152.i.i.i = sext i16 %tmp6.i151.i.i.i to i32		; <i32> [#uses=1]
      	%tmp23.i149.i.i.i = sext i16 %tmp2.i148.i.i.i to i32		; <i32> [#uses=1]
      	%tmp8.i153.i.i.i = add i32 %tmp67.i152.i.i.i, %tmp23.i149.i.i.i		; <i32> [#uses=3]
      HACK2: 	%tmp67.i.i.i.i = sext i16 %tmp6.i.i.i.i to i32		; <i32> [#uses=1]
      	%tmp23.i.i5.i.i = sext i16 %tmp2.i.i.i.i to i32		; <i32> [#uses=1]
      	%tmp8.i.i7.i.i = add i32 %tmp67.i.i.i.i, %tmp23.i.i5.i.i		; <i32> [#uses=3]
      
      
      This also fixes a bug in ComputeNumSignBits handling select and
      makes it more aggressive with and/or.
      
      llvm-svn: 51302
      7ac943ff
    • Chris Lattner's avatar
      fix two issues Neil noticed, thanks! · 9c27f96d
      Chris Lattner authored
      llvm-svn: 51296
      9c27f96d
    • Chris Lattner's avatar
      Add a bool to isEdgeFeasible that tells it whether to treat unknown · f4798569
      Chris Lattner authored
      value as undef or untracked.
      
      llvm-svn: 51295
      f4798569
    • Dan Gohman's avatar
      Fix ExecutionEngine's constant code to work properly when structs and arrays · 69ddfbfe
      Dan Gohman authored
      will become first-class types.
      
      llvm-svn: 51293
      69ddfbfe
    • Dan Gohman's avatar
      Refine the fix in r51169 to only apply when the operand val being · e5572706
      Dan Gohman authored
      replaced is a PHI. This prevents it from inserting uses before defs
      in the case that it isn't a PHI and it depends on other instructions
      later in the block. This fixes the 447.dealII regression on x86-64.
      
      llvm-svn: 51292
      e5572706
    • Evan Cheng's avatar
    • Dan Gohman's avatar
      Make AssociativeOpt static. · d717761a
      Dan Gohman authored
      llvm-svn: 51290
      d717761a
    • Devang Patel's avatar
      ee7bf41c
    • Dan Gohman's avatar
      Add a ComputeNumSignBits function for use by instcombine, based on the · 123438cc
      Dan Gohman authored
      code in SelectionDAG.
      
      llvm-svn: 51279
      123438cc
  2. May 19, 2008
  3. May 18, 2008
  4. May 17, 2008
  5. May 16, 2008
Loading