[cfe-dev] Matching 'OMPThreadPrivateDecl'( like #pragma omp threadprivate(var))

Bataev, Alexey a.bataev at hotmail.com
Wed Feb 25 21:47:48 PST 2015


Deepack,
Yes, it's enough to have "vanilla clang/LLVM" for parsing OpenMP code.
But you have to porovide proper driver options to parse OpenMP nodes. In 
your case these options are (for clang built from trunk):

clang -c -Xclang -ast-dump -Xclang -fopenmp=libiomp5 <FileName>

Try this.

Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team

26.02.2015 8:40, Deepak Rajendrakumaran пишет:
> Hello,
>
> Thank you for replying.
>
> Yes,you are right. I am not getting the OMPThreadPrivateDecl nodes at all.
>
> I tried printing out the AST for a small microbenchmark with OpenMP 
> calls using ' clang -Xclang -ast-dump -fopenmp <FileName>".  And if I 
> have omp.h header file included, it throws an error. Now I dug around 
> a little bit more, and have a couple  of questions. Based on what I 
> see here-http://llvm.org/devmtg/2014-10/Slides/Bataev-OpenMP.pdf, you 
> seem to be the right person to ask. Hope you do not mind.
>
> I have build llvm from trunk(version 3.6.0).  Now to parse nodes, is 
> the normal vanilla llvm enough or do I need to make any omp specific 
> changes/build(like http://clang-omp.github.io/) 
> <http://clang-omp.github.io/%29>??
>
> p.s. My llvm build is fine for all other purposes. i have been using 
> it for a source-to-source compiler with libtooling and I have been 
> running the tool on NAS benchmarks(OpenMP NPB-C version). The only 
> issue I am seeing is with openMP pragmas.So what I am trying to say is 
> that the llvm build works fine for other cases and it is tested.
>
> Regards,
> Deepak
>
>
> On Wed, Feb 25, 2015 at 3:54 AM, Bataev, Alexey <a.bataev at hotmail.com 
> <mailto:a.bataev at hotmail.com>> wrote:
>
>     Hi,
>     are you sure that you have OMPThreadPrivateDecl nodes at all?
>     Check that the code is compiled with -Xclang -fopenmp=libiomp5 option.
>
>     Best regards,
>     Alexey Bataev
>     =============
>     Software Engineer
>     Intel Compiler Team
>     Intel Corp.
>
>     25.02.2015 5:00, Deepak Rajendrakumaran пишет:
>>     This might sound silly. But I have been trying to
>>     match OMPThreadPrivateDecl' nodes using ASTMatcher. But I have
>>     been running into deadends.
>>
>>     What I am doing now is using ASTMatcher to match 'Decl' nodes and
>>     check if its a 'OMPThreadPrivateDecl'  by using a dyn_cast. But
>>     this does not work.
>>
>>     Alternatively I tried with isa<OMPThreadPrivateDecl>(*D) (which
>>     kind of does the same thing)
>>
>>      Can anyone point out how I can access the 'OMPThreadPrivateDecl
>>     nodes using ASTMAtcher or what I am doing wrong?
>>
>>     -Deepak
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150226/f6c6dc3f/attachment.html>


More information about the cfe-dev mailing list