[llvm-dev] Floating Point SCEV Analysis

Saito, Hideki via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 6 14:17:33 PDT 2016



>  Are there real world program that have this kind of behavior?

[Demikhovsky, Elena] As Hideki said, fortran applications are FP IV based. I can't say how easy to map FP IV to integer.


Clarification. Things might have been messed up in translation.

FORTRAN programmers can use (certainly not "must use") FP induction variable like below ------ but as I wrote below,
FORTRAN frontend converts it into integer primary induction variable.

Thanks,
Hideki
Snippet from my reply on May 20

I looked at what our FORTRAN compiler (non-LLVM) does for the following (x, y, z, and f are float by default typing,
based on names).

       subroutine foo(x, y, z, A, N)
       double precision A(N)
       do f = x, y, z
         A(f) = f
       enddo
       end

The frontend computes the trip count outside of the loop (per language rule) and uses an integer primary
induction variable (compile-generated) for loop control. So, (future) FORTRAN usage doesn't seem to be
a good example for promoting support for case A (= FP primary induction variable).


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160606/97f5bf8d/attachment.html>


More information about the llvm-dev mailing list