Skip to content
  1. Nov 03, 2006
  2. Nov 02, 2006
    • Jim Laskey's avatar
      · 15d166ba
      Jim Laskey authored
      1. Hash not quite right for DIEValues.
      
      2. Not going to use Usage (no significant benefit.)
      
      llvm-svn: 31384
      15d166ba
    • Reid Spencer's avatar
      Remove unused variable. · 9ec8a755
      Reid Spencer authored
      llvm-svn: 31382
      9ec8a755
    • Reid Spencer's avatar
      For PR786: · de46e484
      Reid Spencer authored
      Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
      fall out by removing unused variables. Remaining warnings have to do with
      unused functions (I didn't want to delete code without review) and unused
      variables in generated code. Maintainers should clean up the remaining
      issues when they see them. All changes pass DejaGnu tests and Olden.
      
      llvm-svn: 31380
      de46e484
    • Jim Laskey's avatar
      · 936d546e
      Jim Laskey authored
      General clean up of teh dwarf writer.
      
      1. Most significant is the folding of debug information entries.  This
      reduced self hosted -g SelectionDAGISel.s from 120M to 13M and pretty
      close to matching .o file sizes with gcc.
      
      2. Debug information entry printing for debugging the dwarf code.
      
      3. Bring all the code closer to llvm standards.
      
      4. Misc. fixes and doc clean ups.
      
      llvm-svn: 31379
      936d546e
    • Reid Spencer's avatar
      For PR950: · 7eb55b39
      Reid Spencer authored
      Replace the REM instruction with UREM, SREM and FREM.
      
      llvm-svn: 31369
      7eb55b39
    • Chris Lattner's avatar
      Allow the getRegForInlineAsmConstraint method to return a register class with · 55402d44
      Chris Lattner authored
      no fixes physreg.  Treat this as permission to use any register in the register
      class.  When this happens and it is safe, allow the llvm register allcoator to
      allocate the register instead of doing it at isel time.  This eliminates a ton
      of copies around common inline asms.  For example:
      
      int test2(int Y, int X) {
        asm("foo %0, %1" : "=r"(X): "r"(X));
        return X;
      }
      
      now compiles to:
      
      _test2:
              foo r3, r4
              blr
      
      instead of:
      
      _test2:
              mr r2, r4
              foo r2, r2
              mr r3, r2
              blr
      
      GCC produces:
      
      _test2:
              foo r4, r4
              mr r3,r4
              blr
      
      llvm-svn: 31366
      55402d44
    • Evan Cheng's avatar
      Rename · 93cdd149
      Evan Cheng authored
      llvm-svn: 31364
      93cdd149
    • Evan Cheng's avatar
      Two-address instructions no longer have to be A := A op C. Now any pair of... · d8697dec
      Evan Cheng authored
      Two-address instructions no longer have to be A := A op C. Now any pair of dest / src operands can be tied together.
      
      llvm-svn: 31363
      d8697dec
  3. Nov 01, 2006
  4. Oct 31, 2006
  5. Oct 30, 2006
  6. Oct 29, 2006
    • Chris Lattner's avatar
      Make CanFallThrough more intelligent (so it can handle blocks with (e.g.) no · 504eeda3
      Chris Lattner authored
      successors), and make island block movement more general.
      
      This compiles CodeGen/X86/2006-04-27-ISelFoldingBug.ll to:
      
      _loadAndRLEsource_no_exit_2E_1_label_2E_0:
              subl $8, %esp
              movl %esi, 4(%esp)
              movl %ebx, (%esp)
              movl 16(%esp), %eax
              movl 12(%esp), %ecx
      LBB1_3: #label.0
              movl _last, %edx
              movl %edx, %esi
              incl %esi
              movl %esi, _last
              movl %ecx, %ebx
              # TRUNCATE movb %bl, %bl
              movl _block, %esi
              movb %bl, 1(%esi,%edx)
              cmpl %eax, _last
              jge LBB1_2      #codeRepl5.exitStub
      LBB1_4: #label.0
              cmpl $257, %ecx
              je LBB1_2       #codeRepl5.exitStub
      LBB1_1: #label.0.no_exit.1_crit_edge.exitStub
              movl $1, %eax
              movl (%esp), %ebx
              movl 4(%esp), %esi
              addl $8, %esp
              ret
      LBB1_2: #codeRepl5.exitStub
              xorl %eax, %eax
              movl (%esp), %ebx
              movl 4(%esp), %esi
              addl $8, %esp
              ret
      
      instead of:
      
      _loadAndRLEsource_no_exit_2E_1_label_2E_0:
              subl $8, %esp
              movl %esi, 4(%esp)
              movl %ebx, (%esp)
              movl 16(%esp), %eax
              movl 12(%esp), %ecx
              jmp LBB1_3      #label.0
      LBB1_1: #label.0.no_exit.1_crit_edge.exitStub
              movl $1, %eax
              movl (%esp), %ebx
              movl 4(%esp), %esi
              addl $8, %esp
              ret
      LBB1_2: #codeRepl5.exitStub
              xorl %eax, %eax
              movl (%esp), %ebx
              movl 4(%esp), %esi
              addl $8, %esp
              ret
      LBB1_3: #label.0
              movl _last, %edx
              movl %edx, %esi
              incl %esi
              movl %esi, _last
              movl %ecx, %ebx
              # TRUNCATE movb %bl, %bl
              movl _block, %esi
              movb %bl, 1(%esi,%edx)
              cmpl %eax, _last
              jge LBB1_2      #codeRepl5.exitStub
      LBB1_4: #label.0
              cmpl $257, %ecx
              jne LBB1_1      #label.0.no_exit.1_crit_edge.exitStub
              jmp LBB1_2      #codeRepl5.exitStub
      
      ... which is much better layout :)
      
      llvm-svn: 31282
      504eeda3
    • Chris Lattner's avatar
      fix Generic/2006-10-29-Crash.ll · e60ae823
      Chris Lattner authored
      llvm-svn: 31281
      e60ae823
Loading