Skip to content
  1. Nov 10, 2010
  2. Nov 09, 2010
  3. Nov 08, 2010
  4. Nov 06, 2010
  5. Nov 05, 2010
    • Duncan Sands's avatar
      When passing a parameter using the 'byval' mechanism, inline code needs to be used · 6c25ca4f
      Duncan Sands authored
      to perform the copy, which may be of lots of memory [*].  It would be good if the
      fall-back code generated something reasonable, i.e. did the copy in a loop, rather
      than vast numbers of loads and stores.  Add a note about this.  Currently target
      specific code seems to always kick in so this is more of a theoretical issue rather
      than a practical one now that X86 has been fixed.
      [*] It's amazing how often people pass mega-byte long arrays by copy...
      
      llvm-svn: 118275
      6c25ca4f
  6. Nov 04, 2010
  7. Nov 03, 2010
  8. Nov 02, 2010
  9. Nov 01, 2010
  10. Oct 31, 2010
    • Eric Christopher's avatar
      Revert r117876 for now, it's causing more testsuite failures. · ef5a1c3e
      Eric Christopher authored
      llvm-svn: 117879
      ef5a1c3e
    • Bill Wendling's avatar
      Disable the peephole optimizer until 186.crafty on armv6 is fixed. This is what · 0392f1b4
      Bill Wendling authored
      looks like is happening:
      
      Without the peephole optimizer:
        (1)   sub     r6, r6, #32
              orr     r12, r12, lr, lsl r9
              orr     r2, r2, r3, lsl r10
        (x)   cmp     r6, #0
              ldr     r9, LCPI2_10
              ldr     r10, LCPI2_11
        (2)   sub     r8, r8, #32
        (a)   movge   r12, lr, lsr r6
        (y)   cmp     r8, #0
      LPC2_10:
              ldr     lr, [pc, r10]
        (b)   movge   r2, r3, lsr r8
      
      With the peephole optimizer:
              ldr     r9, LCPI2_10
              ldr     r10, LCPI2_11
        (1*)  subs    r6, r6, #32
        (2*)  subs    r8, r8, #32
        (a*)  movge   r12, lr, lsr r6
        (b*)  movge   r2, r3, lsr r8
      
      (1) is used by (x) for the conditional move at (a). (2) is used by (y) for the
      conditional move at (b). After the peephole optimizer, these the flags resulting
      from (1*) are ignored and only the flags from (2*) are considered for both
      conditional moves.
      
      llvm-svn: 117876
      0392f1b4
Loading