Skip to content
  1. Sep 14, 2006
  2. Sep 13, 2006
    • Chris Lattner's avatar
      If LSR went through a lot of trouble to put constants (e.g. the addr of a global · 84cc1f7c
      Chris Lattner authored
      in a specific BB, don't undo this!).  This allows us to compile
      CodeGen/X86/loop-hoist.ll into:
      
      _foo:
              xorl %eax, %eax
      ***     movl L_Arr$non_lazy_ptr, %ecx
              movl 4(%esp), %edx
      LBB1_1: #cond_true
              movl %eax, (%ecx,%eax,4)
              incl %eax
              cmpl %edx, %eax
              jne LBB1_1      #cond_true
      LBB1_2: #return
              ret
      
      instead of:
      
      _foo:
              xorl %eax, %eax
              movl 4(%esp), %ecx
      LBB1_1: #cond_true
      ***     movl L_Arr$non_lazy_ptr, %edx
              movl %eax, (%edx,%eax,4)
              incl %eax
              cmpl %ecx, %eax
              jne LBB1_1      #cond_true
      LBB1_2: #return
              ret
      
      This was noticed in 464.h264ref.  This doesn't usually affect PPC,
      but strikes X86 all the time.
      
      llvm-svn: 30290
      84cc1f7c
    • Chris Lattner's avatar
      Compile X << 1 (where X is a long-long) to: · 72b503bc
      Chris Lattner authored
              addl %ecx, %ecx
              adcl %eax, %eax
      
      instead of:
      
              movl %ecx, %edx
              addl %edx, %edx
              shrl $31, %ecx
              addl %eax, %eax
              orl %ecx, %eax
      
      and to:
      
              addc r5, r5, r5
              adde r4, r4, r4
      
      instead of:
      
              slwi r2,r9,1
              srwi r0,r11,31
              slwi r3,r11,1
              or r2,r0,r2
      
      on PPC.
      
      llvm-svn: 30284
      72b503bc
  3. Sep 12, 2006
  4. Sep 11, 2006
  5. Sep 10, 2006
  6. Sep 09, 2006
  7. Sep 08, 2006
  8. Sep 07, 2006
  9. Sep 06, 2006
  10. Sep 05, 2006
  11. Sep 04, 2006
  12. Sep 03, 2006
  13. Sep 02, 2006
  14. Sep 01, 2006
Loading