Skip to content
  1. Apr 13, 2007
    • Chris Lattner's avatar
      Completely rewrite addressing-mode related sinking of code. In particular, · feee64e9
      Chris Lattner authored
      this fixes problems where codegenprepare would sink expressions into load/stores
      that are not valid, and fixes cases where it would miss important valid ones.
      
      This fixes several serious codesize and perf issues, particularly on targets
      with complex addressing modes like arm and x86.  For example, now we compile
      CodeGen/X86/isel-sink.ll to:
      
      _test:
              movl 8(%esp), %eax
              movl 4(%esp), %ecx
              cmpl $1233, %eax
              ja LBB1_2       #F
      LBB1_1: #T
              movl $4, (%ecx,%eax,4)
              movl $141, %eax
              ret
      LBB1_2: #F
              movl (%ecx,%eax,4), %eax
              ret
      
      instead of:
      
      _test:
              movl 8(%esp), %eax
              leal (,%eax,4), %ecx
              addl 4(%esp), %ecx
              cmpl $1233, %eax
              ja LBB1_2       #F
      LBB1_1: #T
              movl $4, (%ecx)
              movl $141, %eax
              ret
      LBB1_2: #F
              movl (%ecx), %eax
              ret
      
      llvm-svn: 35970
      feee64e9
  2. Apr 11, 2007
  3. Apr 10, 2007
  4. Apr 09, 2007
  5. Apr 08, 2007
  6. Apr 07, 2007
  7. Apr 06, 2007
  8. Apr 05, 2007
  9. Apr 04, 2007
  10. Apr 03, 2007
Loading