Skip to content
  1. Oct 21, 2006
    • Chris Lattner's avatar
      Three changes: · 4fe01c42
      Chris Lattner authored
      1. Remove a bunch of ifdef'd code.
      2. When a block just contains an uncond branch, change all blocks branching
         to it to jump to the destination instead.
      3. If branch analysis tells us some edges in the machinecfg are not actually
         possible, remove them.
      
      #2 triggers a suprisingly large number of times.
      
      llvm-svn: 31094
      4fe01c42
    • Chris Lattner's avatar
      Add an experimental cross-jumping implementation. · 60c9d4dc
      Chris Lattner authored
      This is currently disabled by default and limited in several ways, but does
      have a positive effect.
      
      llvm-svn: 31090
      60c9d4dc
    • Chris Lattner's avatar
      implement MachineOperand::isIdenticalTo · 33f5af09
      Chris Lattner authored
      llvm-svn: 31088
      33f5af09
  2. Oct 20, 2006
  3. Oct 19, 2006
  4. Oct 18, 2006
  5. Oct 17, 2006
  6. Oct 16, 2006
  7. Oct 14, 2006
  8. Oct 13, 2006
  9. Oct 12, 2006
    • Chris Lattner's avatar
      Lower X%C into X/C+stuff. This allows the 'division by a constant' logic to · d0620d27
      Chris Lattner authored
      apply to rems as well as divs.  This fixes PR945 and speeds up ReedSolomon
      from 14.57s to 10.90s (which is now faster than gcc).
      
      It compiles CodeGen/X86/rem.ll into:
      
      _test1:
              subl $4, %esp
              movl %esi, (%esp)
              movl $2155905153, %ecx
              movl 8(%esp), %esi
              movl %esi, %eax
              imull %ecx
              addl %esi, %edx
              movl %edx, %eax
              shrl $31, %eax
              sarl $7, %edx
              addl %eax, %edx
              imull $255, %edx, %eax
              subl %eax, %esi
              movl %esi, %eax
              movl (%esp), %esi
              addl $4, %esp
              ret
      _test2:
              movl 4(%esp), %eax
              movl %eax, %ecx
              sarl $31, %ecx
              shrl $24, %ecx
              addl %eax, %ecx
              andl $4294967040, %ecx
              subl %ecx, %eax
              ret
      _test3:
              subl $4, %esp
              movl %esi, (%esp)
              movl $2155905153, %ecx
              movl 8(%esp), %esi
              movl %esi, %eax
              mull %ecx
              shrl $7, %edx
              imull $255, %edx, %eax
              subl %eax, %esi
              movl %esi, %eax
              movl (%esp), %esi
              addl $4, %esp
              ret
      
      instead of div/idiv instructions.
      
      llvm-svn: 30920
      d0620d27
    • Evan Cheng's avatar
      a731cb67
Loading