[PATCH] D20695: Floating Point SCEV Analysis

silviu.baranga@arm.com via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 2 07:36:28 PDT 2016


sbaranga added a comment.

In http://reviews.llvm.org/D20695#446831, @delena wrote:

> I implemented IV simplification for FP using FP SCEV. No the following loop is covered:
>
> float x = init;
>
>   for (int i=0;i<N;i++){
>     A[i] = x;
>     x += fp_inc; // Loop invariant variable or constant
>   }
>   
>
> And the result is calculated as x = init + fp_inc*N


Hi Elena,

Replacing x with fp_inc*N should require fast-math - and it's not clear to me what fast-math allows.
If this is correct with fast-math, we should be able to use this to get the backedge taken count - which would be a good reason for doing this in SCEV.

I don't know if this has been established before, but the vectorization tests use FP re-association, so fast-math is also required there.

Thanks,
Silviu


Repository:
  rL LLVM

http://reviews.llvm.org/D20695





More information about the llvm-commits mailing list