[llvm-dev] Working on FP SCEV Analysis

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Wed May 18 08:22:53 PDT 2016


----- Original Message -----

> From: "Elena via llvm-dev Demikhovsky" <llvm-dev at lists.llvm.org>
> To: "Chandler Carruth" <chandlerc at google.com>, "Owen Anderson"
> <resistor at mac.com>, "Sanjoy Das" <sanjoy at playingwithpointers.com>
> Cc: "llvm-dev" <llvm-dev at lists.llvm.org>, "Hideki Saito"
> <hideki.saito at intel.com>
> Sent: Wednesday, May 18, 2016 8:25:28 AM
> Subject: Re: [llvm-dev] Working on FP SCEV Analysis

> > Even then, I'd personally want to see further evidence of why the
> > correct solution is to model the floating point IV in SCEV rather
> > than find a more powerful way of converting the IV to an integer
> > that models > the non-integer values taken on by the IV. As an
> > example, if the use case is the following code with appropriate
> > flags to relax IEEE semantics so this looks like normal algabra
> > etc:

> > for (float f = 0.01f; f < 1.0f; f += 0.01f) ç * A *
> ...

> > I'd rather see us cleverly turn it into:

> > float f = 0.01f;
> > for (int i = 1; i < 100; i += 1, f += 0.01f) ç * B *

> I can later try to enhance IndVarSimplify ::handleFloatingPointIV ()
> in order to convert * A * to * B *.
> But * B * is exactly the case I’m starting from. The main IV “i” is
> integer. The variable “f” is also considered as IV in this loop.
> And this loop is not vectorized because “f” is floating point.
> I don’t think that the case * B * is uncommon.
I agree. The *B* case is not uncommon. 

-Hal 

> - Elena
> ---------------------------------------------------------------------
> Intel Israel (74) Limited
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

-- 

Hal Finkel 
Assistant Computational Scientist 
Leadership Computing Facility 
Argonne National Laboratory 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160518/7b60c808/attachment.html>


More information about the llvm-dev mailing list