[LLVMdev] [PATCH] parallel loop metadata
hfinkel at anl.gov
Tue Jan 29 12:17:37 PST 2013
----- Original Message -----
> From: "Pekka Jääskeläinen" <pekka.jaaskelainen at tut.fi>
> To: "Dan Gohman" <dan433584 at gmail.com>
> Cc: "CVS Commit Messages for LLVM repository" <llvm-commits at cs.uiuc.edu>, "LLVM Developers Mailing List"
> <llvmdev at cs.uiuc.edu>
> Sent: Tuesday, January 29, 2013 1:42:27 PM
> Subject: Re: [PATCH] parallel loop metadata
> On 01/29/2013 08:22 PM, Dan Gohman wrote:
> > "Ignore assumed dependencies" is shaky semantics. I haven't seen
> > anything
> > explicitly spell out which dependencies a compiler is guaranteed to
> > detect.
> > How can users use such a directive safely in a loop which has
> > dependencies?
> > I understand that this is what icc's documentation says, but I'm
> > wondering
> > if there's a real motivation for this design other than blind
> > compatibility.
> I agree. I was puzzled by it myself until I ended up concluding that
> if the set of required analysis is not defined it can be an empty
> thus equivalent to "no dep checking at all needed":
> Maybe the safe thing here is to rename it back to the honest
> "llvm.loop.parallel" or similar and we can add a separate one for
> the assumed_dep later on. This one would support the truly parallel
> loops (at least OpenMP for and OpenCL WIloops) where no compiler
> checking at all can be assumed by the programmer.
Will parallel always be synonymous with no_interiteration_dependencies? I'm sightly worried that 'parallel' seems too much like a directive, and we may want it to mean something else in the future.
> Any objections? Paul Redmond?
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
More information about the llvm-dev