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
    • 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
  4. Apr 18, 2005
  5. Apr 16, 2005
    • Nate Begeman's avatar
      Make pattern isel default for ppc · 779c5cbb
      Nate Begeman authored
      Add new ppc beta option related to using condition registers
      Make pattern isel control flag (-enable-pattern-isel) global and tristate
        0 == off
        1 == on
        2 == target default
      
      llvm-svn: 21309
      779c5cbb
  6. Apr 15, 2005
    • Chris Lattner's avatar
      a new simple pass, which will be extended to be more useful in the future. · 16a50fd0
      Chris Lattner authored
      This pass forward branches through conditions when it can show that the
      conditions is either always true or false for a predecessor.  This currently
      only handles the most simple cases of this, but is successful at threading
      across 2489 branches and 65 switch instructions in 176.gcc, which isn't bad.
      
      llvm-svn: 21306
      16a50fd0
  7. Apr 14, 2005
Loading