Skip to content
  1. Nov 15, 2005
  2. Nov 14, 2005
  3. Nov 12, 2005
  4. Nov 11, 2005
  5. Nov 10, 2005
  6. Nov 09, 2005
  7. Nov 08, 2005
  8. Nov 07, 2005
  9. Nov 06, 2005
  10. Nov 05, 2005
  11. Nov 04, 2005
  12. Nov 02, 2005
  13. Oct 31, 2005
    • Jim Laskey's avatar
      · 5ce05382
      Jim Laskey authored
      1. Embed and not inherit vector for NodeGroup.
      
      2. Iterate operands and not uses (performance.)
      
      3. Some long pending comment changes.
      
      llvm-svn: 24119
      5ce05382
  14. Oct 30, 2005
    • Chris Lattner's avatar
      Significantly simplify this code and make it more aggressive. Instead of having · 6871b23d
      Chris Lattner authored
      a special case hack for X86, make the hack more general: if an incoming argument
      register is not used in any block other than the entry block, don't copy it to
      a vreg.  This helps us compile code like this:
      
      %struct.foo = type { int, int, [0 x ubyte] }
      int %test(%struct.foo* %X) {
              %tmp1 = getelementptr %struct.foo* %X, int 0, uint 2, int 100
              %tmp = load ubyte* %tmp1                ; <ubyte> [#uses=1]
              %tmp2 = cast ubyte %tmp to int          ; <int> [#uses=1]
              ret int %tmp2
      }
      
      to:
      
      _test:
              lbz r3, 108(r3)
              blr
      
      instead of:
      
      _test:
              lbz r2, 108(r3)
              or r3, r2, r2
              blr
      
      The (dead) copy emitted to copy r3 into a vreg for extra-block uses was
      increasing the live range of r3 past the load, preventing the coallescing.
      
      This implements CodeGen/PowerPC/reg-coallesce-simple.ll
      
      llvm-svn: 24115
      6871b23d
    • Chris Lattner's avatar
      Reduce the number of copies emitted as machine instructions by · dd5663df
      Chris Lattner authored
      generating results in vregs that will need them.  In the case of something
      like this:  CopyToReg((add X, Y), reg1024), we no longer emit code like
      this:
      
         reg1025 = add X, Y
         reg1024 = reg 1025
      
      Instead, we emit:
      
         reg1024 = add X, Y
      
      Whoa! :)
      
      llvm-svn: 24111
      dd5663df
    • Chris Lattner's avatar
      Codegen mul by negative power of two with a shift and negate. · a70878d4
      Chris Lattner authored
      This implements test/Regression/CodeGen/PowerPC/mul-neg-power-2.ll,
      producing:
      
      _foo:
              slwi r2, r3, 1
              subfic r3, r2, 63
              blr
      
      instead of:
      
      _foo:
              mulli r2, r3, -2
              addi r3, r2, 63
              blr
      
      llvm-svn: 24106
      a70878d4
  15. Oct 27, 2005
  16. Oct 26, 2005
  17. Oct 25, 2005
  18. Oct 24, 2005
Loading