Skip to content
  1. Apr 21, 2005
    • Chris Lattner's avatar
      Improve doxygen documentation, patch contributed by Evan Jones! · 7ceb081f
      Chris Lattner authored
      llvm-svn: 21393
      7ceb081f
    • Chris Lattner's avatar
      Improve and elimination. On PPC, for: · f6302441
      Chris Lattner authored
      bool %test(int %X) {
              %Y = and int %X, 8
              %Z = setne int %Y, 0
              ret bool %Z
      }
      
      we now generate this:
      
              rlwinm r2, r3, 0, 28, 28
              srwi r3, r2, 3
      
      instead of this:
      
              rlwinm r2, r3, 0, 28, 28
              srwi r2, r2, 3
              rlwinm r3, r2, 0, 31, 31
      
      I'll leave it to Nate to get it down to one instruction. :)
      
      ---------------------------------------------------------------------
      
      llvm-svn: 21391
      f6302441
    • Chris Lattner's avatar
      Fold (x & 8) != 0 and (x & 8) == 8 into (x & 8) >> 3. · ab1ed775
      Chris Lattner authored
      This turns this PPC code:
      
              rlwinm r2, r3, 0, 28, 28
              cmpwi cr7, r2, 8
              mfcr r2
              rlwinm r3, r2, 31, 31, 31
      
      into this:
      
              rlwinm r2, r3, 0, 28, 28
              srwi r2, r2, 3
              rlwinm r3, r2, 0, 31, 31
      
      Next up, nuking the extra and.
      
      llvm-svn: 21390
      ab1ed775
    • Chris Lattner's avatar
      Instcombine this: · 374e6594
      Chris Lattner authored
              %shortcirc_val = select bool %tmp.1, bool true, bool %tmp.4             ; <bool> [#uses=1]
              %tmp.6 = cast bool %shortcirc_val to int                ; <int> [#uses=1]
      
      into this:
      
              %shortcirc_val = or bool %tmp.1, %tmp.4         ; <bool> [#uses=1]
              %tmp.6 = cast bool %shortcirc_val to int                ; <int> [#uses=1]
      
      not this:
      
              %tmp.4.cast = cast bool %tmp.4 to int           ; <int> [#uses=1]
              %tmp.6 = select bool %tmp.1, int 1, int %tmp.4.cast             ; <int> [#uses=1]
      
      llvm-svn: 21389
      374e6594
    • Chris Lattner's avatar
      Teach simplifycfg that setcc is cheap and non-trapping, so that it can · b38b443b
      Chris Lattner authored
      convert this:
      
              %tmp.1 = seteq int %i, 0                ; <bool> [#uses=1]
              br bool %tmp.1, label %shortcirc_done, label %shortcirc_next
      
      shortcirc_next:         ; preds = %entry
              %tmp.4 = seteq int %j, 0                ; <bool> [#uses=1]
              br label %shortcirc_done
      
      shortcirc_done:         ; preds = %shortcirc_next, %entry
              %shortcirc_val = phi bool [ %tmp.4, %shortcirc_next ], [ true, %entry ]         ; <bool> [#uses=1]
      
      to this:
              %tmp.1 = seteq int %i, 0                ; <bool> [#uses=1]
              %tmp.4 = seteq int %j, 0                ; <bool> [#uses=1]
              %shortcirc_val = select bool %tmp.1, bool true, bool %tmp.4             ; <bool> [#uses=1]
      
      ... which is later simplified by instcombine into an or.
      
      llvm-svn: 21388
      b38b443b
    • Chris Lattner's avatar
      Fix some broken links, taking care of PR554 · b7848974
      Chris Lattner authored
      llvm-svn: 21387
      b7848974
    • Chris Lattner's avatar
      update to match build changes. · 0727518f
      Chris Lattner authored
      llvm-svn: 21386
      0727518f
    • Reid Spencer's avatar
      For Bug 543: · 8424ba37
      Reid Spencer authored
      Standardize the error messages to be in "path: what failed: why" format.
      Also attempt to use the correct errno to ThrowErrno in situations where
      the errno value is erased by subsequent system calls.
      
      llvm-svn: 21385
      8424ba37
    • Reid Spencer's avatar
      For Bug 543: · b02566dc
      Reid Spencer authored
      Allow the ThrowErrno function to optionally accept an error number
      parameter so that callers can specify the error number to be used.
      
      llvm-svn: 21384
      b02566dc
  2. Apr 20, 2005
  3. Apr 19, 2005
Loading