Skip to content
  1. Jul 27, 2005
  2. Jul 26, 2005
  3. Jul 25, 2005
  4. Jul 23, 2005
  5. Jul 22, 2005
  6. Jul 21, 2005
  7. Jul 19, 2005
    • Nate Begeman's avatar
      Integrate SelectFPExpr into SelectExpr. This gets PPC32 closer to being · 0851f1aa
      Nate Begeman authored
      automatically generated from a target description.
      
      llvm-svn: 22470
      0851f1aa
    • Reid Spencer's avatar
      For: memory operations -> stores · d37d854c
      Reid Spencer authored
      This is the first incremental patch to implement this feature. It adds no
      functionality to LLVM but setup up the information needed from targets in
      order to implement the optimization correctly. Each target needs to specify
      the maximum number of store operations for conversion of the llvm.memset,
      llvm.memcpy, and llvm.memmove intrinsics into a sequence of store operations.
      The limit needs to be chosen at the threshold of performance for such an
      optimization (generally smallish). The target also needs to specify whether
      the target can support unaligned stores for multi-byte store operations.
      This helps ensure the optimization doesn't generate code that will trap on
      an alignment errors.
      More patches to follow.
      
      llvm-svn: 22468
      d37d854c
  8. Jul 16, 2005
    • Nate Begeman's avatar
      Teach the legalizer how to promote SINT_TO_FP to a wider SINT_TO_FP that · 7e74c834
      Nate Begeman authored
      the target natively supports.  This eliminates some special-case code from
      the x86 backend and generates better code as well.
      
      For an i8 to f64 conversion, before & after:
      
      _x87 before:
              subl $2, %esp
              movb 6(%esp), %al
              movsbw %al, %ax
              movw %ax, (%esp)
              filds (%esp)
              addl $2, %esp
              ret
      
      _x87 after:
              subl $2, %esp
              movsbw 6(%esp), %ax
              movw %ax, (%esp)
              filds (%esp)
              addl $2, %esp
              ret
      
      _sse before:
              subl $12, %esp
              movb 16(%esp), %al
              movsbl %al, %eax
              cvtsi2sd %eax, %xmm0
              addl $12, %esp
              ret
      
      _sse after:
              subl $12, %esp
              movsbl 16(%esp), %eax
              cvtsi2sd %eax, %xmm0
              addl $12, %esp
              ret
      
      llvm-svn: 22452
      7e74c834
    • Nate Begeman's avatar
      Teach the register allocator that movaps is also a move instruction · 8293d0e2
      Nate Begeman authored
      llvm-svn: 22451
      8293d0e2
    • Nate Begeman's avatar
      A couple more darwinisms · 57b9ed52
      Nate Begeman authored
      llvm-svn: 22450
      57b9ed52
    • Chris Lattner's avatar
      Remove all knowledge of UINT_TO_FP from the X86 backend, relying on the · 507a2759
      Chris Lattner authored
      legalizer to eliminate them.  With this comes the expected code quality
      improvements, such as, for this:
      
      double foo(unsigned short X) { return X; }
      
      we now generate this:
      
      _foo:
              subl $4, %esp
              movzwl 8(%esp), %eax
              movl %eax, (%esp)
              fildl (%esp)
              addl $4, %esp
              ret
      
      instead of this:
      
      _foo:
              subl $4, %esp
              movw 8(%esp), %ax
              movzwl %ax, %eax   ;; Load not folded into this.
              movl %eax, (%esp)
              fildl (%esp)
              addl $4, %esp
              ret
      
      -Chris
      
      llvm-svn: 22449
      507a2759
  9. Jul 15, 2005
  10. Jul 14, 2005
    • John Criswell's avatar
      Fixed PR#596: · 3870f9d3
      John Criswell authored
      Add parenthesis around the value being negated; that way, if the value
      begins with a minus sign (e.g. negative integer), we won't generate a
      C predecrement operator by mistake.
      
      llvm-svn: 22437
      3870f9d3
  11. Jul 12, 2005
  12. Jul 11, 2005
Loading