[cfe-dev] annotating loop statements

Redmond, Paul paul.redmond at intel.com
Thu Feb 7 09:45:27 PST 2013


I'm working on #pragma ivdep [1] in clang and I'm looking for advice on the best way to annotate ForStmt/WhileStmt/DoStmt with the ivdep hint. I've attached my work in progress which handles parsing.

I think there are two options:
1) add a flag to ForStmt/WhileStmt/DoStmt and toggle it in the parser
2) create a new statement (one that wraps a ForStmt/WhileStmt/DoStmt) that includes the flags

Option 1) is simple but I do not think it's very clean or extensible. I think 2) is the most flexible because it could be extended to support #pragma simd for example.

I think this is a common problem for openmp, amp, cilk, etc. and it'd be nice to have a solution that can work for anyone.

I'm not a clang expert by any means so I'd appreciate any input.


[1] http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011Update/compiler_c/cref_cls/common/cppref_pragma_ivdep.htm

-------------- next part --------------
A non-text attachment was scrubbed...
Name: parser_ivdep.diff
Type: application/octet-stream
Size: 6789 bytes
Desc: parser_ivdep.diff
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130207/cd142360/attachment.obj>

More information about the cfe-dev mailing list