Skip to content
  • Chris Lattner's avatar
    Move from Stage 0 to Stage 1. · db23c74e
    Chris Lattner authored
    Only emit one PHI node for IV uses with identical bases and strides (after
    moving foldable immediates to the load/store instruction).
    
    This implements LoopStrengthReduce/dont_insert_redundant_ops.ll, allowing
    us to generate this PPC code for test1:
    
            or r30, r3, r3
    .LBB_test1_1:   ; Loop
            li r2, 0
            stw r2, 0(r30)
            stw r2, 4(r30)
            bl L_pred$stub
            addi r30, r30, 8
            cmplwi cr0, r3, 0
            bne .LBB_test1_1        ; Loop
    
    instead of this code:
    
            or r30, r3, r3
            or r29, r3, r3
    .LBB_test1_1:   ; Loop
            li r2, 0
            stw r2, 0(r29)
            stw r2, 4(r30)
            bl L_pred$stub
            addi r30, r30, 8        ;; Two iv's with step of 8
            addi r29, r29, 8
            cmplwi cr0, r3, 0
            bne .LBB_test1_1        ; Loop
    
    llvm-svn: 22635
    db23c74e
Loading