[PATCH] [LoopVectorizer] if unsafe-fp-math FN attribute is set, enable reduction detection with float operations

Hal Finkel hfinkel at anl.gov
Fri Nov 28 10:10:47 PST 2014


----- Original Message -----
> From: "Pekka Jääskeläinen" <pekka.jaaskelainen at tut.fi>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: "Commit Messages and Patches for LLVM" <llvm-commits at cs.uiuc.edu>
> Sent: Friday, November 28, 2014 12:04:57 PM
> Subject: Re: [PATCH] [LoopVectorizer] if unsafe-fp-math FN attribute is set, enable	reduction detection with float
> operations
> 
> Hi Hal,
> 
> OK, I didn't know which way was the chosen "future approach" or
> if they both are used for some use cases.

Yea, and at some point we really should finish this by fixing the function-call situation, propagating the flags into the SelectDAG, and stop trying to support "both".

> 
> I just noticed that when I set -cl-fast-relaxed-math in OpenCL C,
> it didn't propagate to the FP instructions as 'fast' attributes,
> but the func attribute did get set.

Ah, interesting. That does not seem right. It still need to set the function attribute for now (as noted, the transition is not yet complete), but it should also trigger the instruction flags.

> 
> So I suppose it should be investigated why the flags are not
> generated to the produced instructions in this case instead
> in case the fnattr is deprecated?

I think that would be a better approach.

I'll add, however, that I'm not an OpenCL expert, and I don't know how this interacts with SPIR, etc.

Thanks again,
Hal

> 
> On 11/28/2014 07:43 PM, Hal Finkel wrote:
> > Pekka,
> >
> > What's your motivation for doing this? Aside from the fact that we
> > can't yet set fast math flags on function calls (to sqrt, etc.), I
> > think we're pretty close to removing the function attribute all
> > together. The instruction-level flags play much nicer with LTO, and
> > give more precision control to the frontends; it is not clear to me
> > that overriding them with the function-level attribute is
> > desirable.
> >
> > -Hal
> >
> > ----- Original Message -----
> >> From: "Pekka Jääskeläinen" <pekka.jaaskelainen at tut.fi> To: "Commit
> >> Messages and Patches for LLVM" <llvm-commits at cs.uiuc.edu> Sent:
> >> Friday, November 28, 2014 11:13:39 AM Subject: [PATCH]
> >> [LoopVectorizer] if unsafe-fp-math FN attribute is set, enable
> >> reduction detection with float operations
> >>
> >> Hi,
> >>
> >> The attached patch checks the function attributes for
> >> "unsafe-fp-math" to relax FP constraints when detecting reduction
> >> operations.
> >>
> >> -- --Pekka
> >>
> >> _______________________________________________ llvm-commits
> >> mailing list llvm-commits at cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> >>
> >
> 
> 
> --
> --Pekka Jääskeläinen
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory




More information about the llvm-commits mailing list