Commit Graph

183 Commits

Author SHA1 Message Date
Alexey Bataev 46c5afbd70 [OPENMP] Initial support for '#pragma omp for'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211096 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-17 11:49:22 +00:00
Alexey Bataev a40d587d1b [OPENMP] Initial support of 'reduction' clause
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211007 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-16 07:08:35 +00:00
Alexander Musman bf87624a62 [OPENMP] Parsing/Sema for OMPLasprivateClause.
Parsing this clause, allowing it on directive ‘omp simd’ and semantic checks.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210184 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-04 13:06:39 +00:00
Alexander Musman f6b38aae6b [OPENMP] Loop canonical form analysis (Sema)
This patch implements semantic analysis to make sure that the loop is in OpenMP canonical form.
This is the form required for 'omp simd', 'omp for' and other loop pragmas.

Differential revision: http://reviews.llvm.org/D3778



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210095 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-03 10:16:47 +00:00
Alexander Musman ec0c25b912 Parsing/Sema for OMPAlignedClause.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209816 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-29 14:36:25 +00:00
Nikola Smiljanic be481708fb Refactoring. Remove release and take methods from ActionResult. Rename takeAs to getAs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209800 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-29 10:55:11 +00:00
Alexey Bataev bf9865fc78 [OPENMP] Reformatting of parsing code for OpenMP constructs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209714 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-28 06:15:33 +00:00
Alexander Musman 16bac88180 Parsing/Sema for OMPCollapseClause.
Actual usage in Sema for collapsing loops will in some future patch.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209660 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-27 15:12:19 +00:00
Craig Topper d685fc0ecc [C++11] Use 'nullptr'. Parser edition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209275 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-21 06:02:52 +00:00
Alexey Bataev 1a751e4027 [OPENMP] Removed unnecessary enums from OpenMP constructs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208516 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-12 04:23:46 +00:00
Alexey Bataev bfa38388de [OPENMP] Initial codegen for '#pragma omp parallel'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208077 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-06 10:08:46 +00:00
Alexey Bataev 9292dbd494 [OPENMP] 'proc_bind' clause support - Parsing and sema analysis for OpenMP clause 'proc_bind'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208060 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-06 06:04:14 +00:00
Alexander Musman f1e95d44ac [OPENMP] parsing 'linear' clause (for directive 'omp simd')
Differential Revision: http://reviews.llvm.org/D3272



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206891 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-22 13:09:42 +00:00
Alexey Bataev a100391cc4 [OPENMP] Implemented 'copyin' clause
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205164 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-31 03:36:38 +00:00
Alexey Bataev a465dc43f1 [OPENMP] parsing of clause 'safelen' (for directive 'omp simd')
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204428 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-21 04:51:18 +00:00
Alexey Bataev a3eb9f5811 [OPENMP] Clause 'num_threads'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203087 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-06 06:15:19 +00:00
Alexey Bataev 0661f6d435 [OPENMP] emit error message for clause 'if(1 0)'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202942 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-05 06:53:13 +00:00
Alexey Bataev 15afb8ec13 [OPENMP] First changes for Parsing and Sema for 'omp simd' directive support
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202360 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-27 08:29:12 +00:00
Alexey Bataev 154210ac5c [OPENMP] 'if' clause support (no CodeGen support)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201297 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-13 05:29:23 +00:00
David Majnemer 4809f9bcd2 Basic: Clean up malformed pragma diagnostics
Create a new diagnostic, -Wignored-pragmas and use it to handle any
case where a pragma would have a side effect but is ignored.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201102 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-10 19:06:37 +00:00
Chandler Carruth 4b9be6e25f Sort all the #include lines with LLVM's utils/sort_includes.py which
encodes the canonical rules for LLVM's style. I noticed this had drifted
quite a bit when cleaning up LLVM, so wanted to clean up Clang as well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198686 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-07 11:51:46 +00:00
Alp Toker af9a02c0cd Support and use token kinds as diagnostic arguments
Introduce proper facilities to render token spellings using the diagnostic
formatter.

Replaces most of the hard-coded diagnostic messages related to expected tokens,
which all shared the same semantics but had to be multiply defined due to
variations in token order or quote marks.

The associated parser changes are largely mechanical but they expose
commonality in whole chunks of the parser that can now be factored away.

This commit uses C++11 typed enums along with a speculative legacy fallback
until the transition is complete.

Requires corresponding changes in LLVM r197895.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197972 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-24 09:48:30 +00:00
Alp Toker 7211ea47c1 Revert "[OPENMP] Fix for parsing OpenMP directives with extra braces, brackets and parens"
These parser changes were redundant. The same or better recovery can be
achieved with a one-line fix to SkipUntil() due to land in the next commit.

This reverts commit r197553.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197597 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-18 19:10:49 +00:00
Alexey Bataev a582422f20 [OPENMP] Fix for parsing OpenMP directives with extra braces, brackets and parens
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197553 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-18 08:46:25 +00:00
Alexey Bataev 8fe2475a4b Replaced bool parameters in SkipUntil function with single bit-based parameter.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194994 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-18 08:17:37 +00:00
Alexey Bataev d195bc38fd [OpenMP] Added parsing and semantic analysis for firstprivate clause
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191730 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-01 05:32:34 +00:00
Alexey Bataev 0c018357b8 OpenMP: Data-sharing attributes analysis and clause 'shared' (fixed test threadprivate_messages.cpp)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190183 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-06 18:03:48 +00:00
Rafael Espindola 4367829b41 Revert "OpenMP: Data-sharing attributes analysis and clause 'shared'"
This reverts commit r189795.

threadprivate_messages.cpp is faling on windows.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189811 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-03 14:33:09 +00:00
Alexey Bataev 8f1a2db864 OpenMP: Data-sharing attributes analysis and clause 'shared'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189795 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-03 12:55:52 +00:00
Benjamin Kramer 844a52783c Silence GCC warning for using both enum and unsigned in a ternary expr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186762 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-20 12:06:17 +00:00
Alexey Bataev 4fa7eab771 OpenMP: basic support for #pragma omp parallel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186647 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-19 03:13:43 +00:00
Alexey Bataev 6af701f29b OpenMP threadprivate with qualified names.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181683 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-13 04:18:18 +00:00
Alexey Bataev c640058aa7 OpenMP threadprivate directive parsing and semantic analysis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177705 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-22 06:34:35 +00:00