Skip to content
  • Dan Gohman's avatar
    Strength reduction improvements. · e0c3d9f3
    Dan Gohman authored
     - Avoid attempting stride-reuse in the case that there are users that
       aren't addresses. In that case, there will be places where the
       multiplications won't be folded away, so it's better to try to
       strength-reduce them.
    
     - Several SSE intrinsics have operands that strength-reduction can
       treat as addresses. The previous item makes this more visible, as
       any non-address use of an IV can inhibit stride-reuse.
    
     - Make ValidStride aware of whether there's likely to be a base
       register in the address computation. This prevents it from thinking
       that things like stride 9 are valid on x86 when the base register is
       already occupied.
    
    Also, XFAIL the 2007-08-10-LEA16Use32.ll test; the new logic to avoid
    stride-reuse elimintes the LEA in the loop, so the test is no longer
    testing what it was intended to test.
    
    llvm-svn: 43231
    e0c3d9f3
Loading