Skip to content
  • 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