Skip to content
  1. Sep 11, 2006
  2. Sep 10, 2006
  3. Sep 09, 2006
  4. Sep 08, 2006
  5. Sep 07, 2006
    • Chris Lattner's avatar
      Throttle back tail duplication to avoid creating really ugly sequences of code. · c465046e
      Chris Lattner authored
      For Transforms/TailDup/if-tail-dup.ll, f.e., it produces:
      
      _foo:
              movl 8(%esp), %eax
              movl 4(%esp), %ecx
              testl $1, %ecx
              je LBB1_2       #cond_next
      LBB1_1: #cond_true
              movl $1, (%eax)
      LBB1_2: #cond_next
              testl $2, %ecx
              je LBB1_4       #cond_next10
      LBB1_3: #cond_true6
              movl $1, 4(%eax)
      LBB1_4: #cond_next10
              testl $4, %ecx
              je LBB1_6       #cond_next18
      LBB1_5: #cond_true14
              movl $1, 8(%eax)
      LBB1_6: #cond_next18
              testl $8, %ecx
              je LBB1_8       #return
      LBB1_7: #cond_true22
              movl $1, 12(%eax)
              ret
      LBB1_8: #return
              ret
      
      instead of:
      
      _foo:
              movl 4(%esp), %eax
              testl $2, %eax
              sete %cl
              movl 8(%esp), %edx
              testl $1, %eax
              je LBB1_2       #cond_next
      LBB1_1: #cond_true
              movl $1, (%edx)
              testb %cl, %cl
              jne LBB1_4      #cond_next10
              jmp LBB1_3      #cond_true6
      LBB1_2: #cond_next
              testb %cl, %cl
              jne LBB1_4      #cond_next10
      LBB1_3: #cond_true6
              movl $1, 4(%edx)
              testl $4, %eax
              je LBB1_6       #cond_next18
              jmp LBB1_5      #cond_true14
      LBB1_4: #cond_next10
              testl $4, %eax
              je LBB1_6       #cond_next18
      LBB1_5: #cond_true14
              movl $1, 8(%edx)
              testl $8, %eax
              je LBB1_8       #return
              jmp LBB1_7      #cond_true22
      LBB1_6: #cond_next18
              testl $8, %eax
              je LBB1_8       #return
      LBB1_7: #cond_true22
              movl $1, 12(%edx)
              ret
      LBB1_8: #return
              ret
      
      llvm-svn: 30158
      c465046e
    • Chris Lattner's avatar
      Eliminate X86ISD::TEST, using X86ISD::CMP instead. Match X86ISD::CMP patterns · dc4ff531
      Chris Lattner authored
      using test, which provides nice simplifications like:
      
      -       movl %edi, %ecx
      -       andl $2, %ecx
      -       cmpl $0, %ecx
      +       testl $2, %edi
              je LBB1_11      #cond_next90
      
      There are a couple of dagiselemitter deficiencies that this exposes, they will
      be handled later.
      
      llvm-svn: 30156
      dc4ff531
    • Chris Lattner's avatar
      Some notes on better load folding we could do · 1b7f09cd
      Chris Lattner authored
      llvm-svn: 30155
      1b7f09cd
    • Evan Cheng's avatar
      Consistency. · a9411c09
      Evan Cheng authored
      llvm-svn: 30152
      a9411c09
    • Evan Cheng's avatar
      Fix pasto that was breaking x86 tests. · 95b3dde8
      Evan Cheng authored
      llvm-svn: 30151
      95b3dde8
    • Chris Lattner's avatar
      Add new option to leave asm names alone · 721fc383
      Chris Lattner authored
      llvm-svn: 30149
      721fc383
    • Jim Laskey's avatar
      Make the x86 asm flavor part of the subtarget info. · c7abe471
      Jim Laskey authored
      llvm-svn: 30146
      c7abe471
Loading