Home | History | Annotate | Download | only in Sema

Lines Matching refs:OpenMP

1 //===--- SemaOpenMP.cpp - Semantic Analysis for OpenMP constructs ---------===//
10 /// \brief This file implements semantic analysis for OpenMP directives and
66 /// \brief Stack for tracking declarations used in OpenMP directives and
144 /// \brief Checks if the variable is a local for OpenMP region.
213 /// OpenMP region.
371 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
379 // OpenMP [2.9.1.2, Data-sharing Attribute Rules for Variables Referenced
390 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
409 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
421 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
432 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
441 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables
463 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
530 /// \brief Build a variable declaration for OpenMP loop iteration variable.
561 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
580 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
583 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
600 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
749 assert(LangOpts.OpenMP && "OpenMP is not allowed");
761 // the description in OpenMP 4.5 [2.10.4, target Construct] and
762 // OpenMP 4.5 [2.15.5, Data-mapping Attribute Rules and Clauses].
836 assert(LangOpts.OpenMP && "OpenMP is not allowed");
881 assert(LangOpts.OpenMP && "OpenMP is not allowed");
887 assert(LangOpts.OpenMP && "OpenMP is not allowed");
912 // OpenMP [2.14.3.5, Restrictions, C/C++, p.1]
933 // variable is not added to IdResolver, so the code in the OpenMP
1021 // OpenMP [2.9.2, Syntax, C/C++]
1036 // OpenMP [2.9.2, Restrictions, C/C++, p.2]
1050 // OpenMP [2.9.2, Restrictions, C/C++, p.3]
1065 // OpenMP [2.9.2, Restrictions, C/C++, p.4]
1081 // OpenMP [2.9.2, Restrictions, C/C++, p.6]
1096 // OpenMP [2.9.2, Restrictions, C/C++, p.2-6]
1164 // OpenMP [2.9.2, Restrictions, C/C++, p.10]
1171 // OpenMP [2.9.2, Restrictions, C/C++, p.10]
1313 // OpenMP [2.9.3.6, Restrictions, p.2]
1586 llvm_unreachable("OpenMP Directive is not allowed");
1588 llvm_unreachable("Unknown OpenMP directive");
2226 // OpenMP [2.16, Nesting of Regions]
2227 // OpenMP constructs may not be nested inside a simd region.
2228 // OpenMP [2.8.1,simd Construct, Restrictions]
2229 // An ordered construct with the simd clause is the only OpenMP construct
2235 // OpenMP [2.16, Nesting of Regions]
2236 // OpenMP constructs may not be nested inside an atomic region.
2241 // OpenMP [2.7.2, sections Construct, Restrictions]
2255 // called from OpenMP regions with the required preconditions).
2260 // OpenMP [2.16, Nesting of Regions]
2264 // be closely nested inside an OpenMP construct that matches the type
2269 // OpenMP construct that matches the type specified in
2280 // OpenMP [2.16, Nesting of Regions]
2287 // OpenMP [2.16, Nesting of Regions]
2316 // OpenMP [2.16, Nesting of Regions]
2326 // OpenMP [2.16, Nesting of Regions]
2336 // OpenMP [2.16, Nesting of Regions]
2341 // OpenMP [2.8.1,simd Construct, Restrictions]
2342 // An ordered construct with the simd clause is the only OpenMP construct
2351 // OpenMP [2.16, Nesting of Regions]
2359 // OpenMP [2.16, Nesting of Regions]
2361 // parallel loop and parallel loop SIMD constructs are the only OpenMP
2368 // OpenMP 4.5 [2.17 Nesting of Regions]
2645 llvm_unreachable("OpenMP Directive is not allowed");
2647 llvm_unreachable("Unknown OpenMP directive");
2673 // 1.2.2 OpenMP Language Terminology
2687 OpenMP loops and
2855 // OpenMP [2.6, Canonical Loop Form, Restrictions]
2900 // OpenMP [2.6] Canonical loop form. init-expr may be one of the following:
2967 // OpenMP [2.6] Canonical loop form. Test-expr may be one of the following:
3049 // OpenMP [2.6] Canonical loop form. Test-expr may be one of the following:
3246 // OpenMP runtime requires 32-bit or 64-bit loop variables.
3369 assert(getLangOpts().OpenMP && "OpenMP is not active.");
3390 // OpenMP [2.6, Canonical Loop Form]
3430 // OpenMP [2.6, Canonical Loop Form]
3444 // OpenMP, 2.14.1.1 Data-sharing Attribute Rules for Variables Referenced in a
3455 // OpenMP [2.14.1.1, Data-sharing Attribute Rules for Variables Referenced in
3679 // OpenMP [2.8.1, simd construct, Restrictions]
3681 // is, there must be no intervening code nor any OpenMP directive between
4069 // OpenMP 4.1 [2.8.1, simd Construct, Restrictions]
4110 // OpenMP 4.1 [2.8.1, simd Construct, Restrictions]
4199 // OpenMP 4.1 [2.8.1, simd Construct, Restrictions]
4286 // OpenMP [2.7.3, single Construct, Restrictions]
4385 // 1.2.2 OpenMP Language Terminology
4429 // 1.2.2 OpenMP Language Terminology
4456 // OpenMP 4.1 [2.8.1, simd Construct, Restrictions]
4525 // 1.2.2 OpenMP Language Terminology
4601 // OpenMP [2.8.1,simd Construct, Restrictions]
4602 // An ordered construct with the simd clause is the only OpenMP construct
4883 // 1.2.2 OpenMP Language Terminology
4916 // OpenMP [2.12.6, atomic Construct]
5314 // 1.2.2 OpenMP Language Terminology
5321 // OpenMP [2.16, Nesting of Regions]
5378 // 1.2.2 OpenMP Language Terminology
5480 // OpenMP, [2.9.2 taskloop Construct, Restrictions]
5512 // OpenMP, [2.9.2 taskloop Construct, Restrictions]
5745 // OpenMP [2.5, Restrictions]
5786 // OpenMP [2.8.1, simd construct, Description]
5799 // OpenMP [2.8.1, simd construct, Description]
5813 // OpenMP [2.7.1, loop construct, Description]
5814 // OpenMP [2.8.1, simd construct, Description]
5815 // OpenMP [2.9.6, distribute construct, Description]
5830 // OpenMP [2.7.1, loop construct, Description]
5831 // OpenMP [2.8.1, simd construct, Description]
5832 // OpenMP [2.9.6, distribute construct, Description]
6085 // OpenMP [2.7.1, Restrictions]
6334 assert(RefExpr && "NULL expr in OpenMP private clause.");
6343 // OpenMP [2.1, C/C++]
6345 // OpenMP [2.9.3.3, Restrictions, p.1]
6364 // OpenMP [2.9.3.3, Restrictions, C/C++, p.3]
6373 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
6402 // OpenMP [2.9.3.3, Restrictions, C/C++, p.1]
6409 // IdResolver, so the code in the OpenMP region uses original variable for
6467 assert(RefExpr && "NULL expr in OpenMP firstprivate clause.");
6478 // OpenMP [2.1, C/C++]
6480 // OpenMP [2.9.3.3, Restrictions, p.1]
6500 // OpenMP [2.9.3.3, Restrictions, C/C++, p.3]
6509 // OpenMP [2.9.3.4, Restrictions, C/C++, p.1]
6519 // OpenMP [2.4.13, Data-sharing Attribute Clauses]
6532 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
6539 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
6553 // OpenMP [2.9.3.4, Restrictions, p.2]
6571 // OpenMP [2.9.3.4, Restrictions, p.3]
6577 // OpenMP [2.9.3.4, Restrictions, p.4]
6600 // OpenMP 4.5 [2.15.3.4, Restrictions, p.3]
6605 // OpenMP 4.5 [2.15.3.4, Restrictions, p.3]
6610 // OpenMP 4.5 [2.10.8, Distribute Construct, p.3]
6664 // is not added to IdResolver, so the code in the OpenMP region uses
6730 assert(RefExpr && "NULL expr in OpenMP lastprivate clause.");
6741 // OpenMP [2.1, C/C++]
6743 // OpenMP [2.14.3.5, Restrictions, p.1]
6764 // OpenMP [2.14.3.5, Restrictions, C/C++, p.2]
6773 OpenMP [2.14.1.1, Data-sharing Attribute Rules for Variables Referenced
6790 // OpenMP [2.14.3.5, Restrictions, p.2]
6808 // OpenMP [2.14.3.5, Restrictions, C++, p.1,2]
6838 // OpenMP 4.5 [2.10.8, Distribute Construct, p.3]
6871 assert(RefExpr && "NULL expr in OpenMP shared clause.");
6879 // OpenMP [2.1, C/C++]
6881 // OpenMP [2.14.3.2, Restrictions, p.1]
6900 // OpenMP [2.9.1.1, Data-sharing Attribute Rules for Variables Referenced
6971 // OpenMP [2.14.3.6, reduction clause]
7067 assert(RefExpr && "nullptr expr in OpenMP reduction clause.");
7092 // OpenMP [2.1, C/C++]
7096 // OpenMP [2.14.3.3, Restrictions, p.1]
7146 // OpenMP [2.9.3.3, Restrictions, C/C++, p.3]
7152 // OpenMP [2.14.3.6, reduction clause, Restrictions]
7165 // OpenMP [2.14.3.6, reduction clause, Restrictions]
7180 // OpenMP [2.9.3.6, Restrictions, C/C++, p.4]
7194 // OpenMP [2.14.3.6, reduction clause, Restrictions]
7228 // OpenMP [2.14.1.1, Data-sharing Attribute Rules for Variables Referenced
7235 // OpenMP [2.14.3.6, Restrictions, p.3]
7255 // OpenMP [2.14.3.6, Restrictions, p.1]
7472 assert(RefExpr && "NULL expr in OpenMP linear clause.");
7481 // OpenMP [2.14.3.7, linear clause]
7490 // OpenMP [2.1, C/C++]
7492 // OpenMP [2.14.3.3, Restrictions, p.1]
7503 // OpenMP [2.14.3.7, linear clause]
7635 // OpenMP [2.14.3.7, linear clause]
7693 assert(RefExpr && "NULL expr in OpenMP aligned clause.");
7701 // OpenMP [2.1, C/C++]
7711 // OpenMP [2.8.1, simd construct, Restrictions]
7729 // OpenMP [2.8.1, simd construct, Restrictions]
7741 // OpenMP [2.8.1, simd construct, Description]
7769 assert(RefExpr && "NULL expr in OpenMP copyin clause.");
7780 // OpenMP [2.1, C/C++]
7782 // OpenMP [2.14.4.1, Restrictions, p.1]
7803 // OpenMP [2.14.4.1, Restrictions, C/C++, p.1]
7812 // OpenMP [2.14.4.1, Restrictions, C/C++, p.2]
7861 assert(RefExpr && "NULL expr in OpenMP copyprivate clause.");
7872 // OpenMP [2.1, C/C++]
7874 // OpenMP [2.14.4.1, Restrictions, p.1]
7895 // OpenMP [2.14.4.2, Restrictions, p.2]
7909 // OpenMP [2.11.4.2, Restrictions, p.1]
7937 // OpenMP [2.14.4.1, Restrictions, C/C++, p.2]
8028 OpenMP shared clause.");
8036 // OpenMP [2.11.1.1, Restrictions, p.3]
8068 // OpenMP [2.9.1, Restrictions]
8150 // OpenMP [2.14.5, Restrictions]
8192 // OpenMP [2.14.5, Restrictions, p.8]
8201 // OpenMP [2.14.5, Restrictions, p.2]
8204 // OpenMP [2.14.5, Restrictions, p.3]
8207 // OpenMP [2.14.5, Restrictions, C/C++, p.2]
8219 // OpenMP [2.14.5, Restrictions, C/C++, p.3,4]
8239 // OpenMP [2.14.5, Restrictions, C/C++, p.7]
8262 // OpenMP [teams Constrcut, Restrictions]
8277 // OpenMP [teams Constrcut, Restrictions]
8293 // OpenMP [2.9.1, task Constrcut]
8308 // OpenMP [2.9.2, taskloop Constrcut]
8324 // OpenMP [2.9.2, taskloop Constrcut]
8337 // OpenMP [2.13.2, critical construct, Description]