----- Original Message -----> From: "Krzysztof Parzyszek" <kparzysz at codeaurora.org>
> To: "Tobias Grosser" <tobias at grosser.es>
> Cc: llvmdev at cs.uiuc.edu
> Sent: Wednesday, November 21, 2012 12:59:48 PM
> Subject: Re: [LLVMdev] loop pragmas
>
> On 11/21/2012 12:48 PM, Tobias Grosser wrote:
> > On 11/21/2012 06:56 PM, Krzysztof Parzyszek wrote:
> >>
> >> Yes, that is not hard to accomplish.
> >
> > Actually, I believe this is _not_ easy. Though, it makes only sense
> > to
> > discuss this with a specific annotation in mind.
>
> Agreed. If there is a dedicated consumer of certain annotations,
> then
> after it's done, it should remove the annotations. This is not hard
> when it can run early enough not to have the annotations altered by
> prior transformations. Now, if there are special annotations for
> several dedicated consumers, or the consumer has to run late, then it
> does become difficult.
>
> What would be nice is if we came up with a design that would allow a
> relatively easy validation of the annotations (something conceptually
> similar to error-detecting codes). The consumer then would disregard
> and remove the annotations that are no longer valid.
I proposed something which has this property for OpenMP handling a few months
ago. If any of it were dropped, or things became otherwise inconsistent, because
of the cross-referencing, it would be possible to detect the problem and drop
the entire parallel region. The problem with using this for OpenMP is that there
are cases where dropping the entire parallel region is not a valid thing to do.
-Hal
>
> -Krzysztof
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> hosted by The Linux Foundation
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
--
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory