Lines Matching defs:directive

158             "The associated loop of a loop-associated directive cannot be a DO WHILE."_err_en_US);
162 "The associated loop of a loop-associated directive cannot be a DO without control."_err_en_US);
228 // OpenMP 5.2: 5.2 threadprivate directive restriction
253 llvm::omp::Directive dir{dirCtx.directive};
275 "%s clause is not allowed on directive %s in %s, %s"_err_en_US,
325 if (set.test(dirContext_[index].directive)) {
327 } else if (llvm::omp::allParallelSet.test(dirContext_[index].directive)) {
466 // for the given directive (`source` here)
489 .test(GetContextParent().directive)) {
520 GetContextParent().directive)) {
530 "`BIND(TEAMS)` must be specified since the `LOOP` directive is "
554 "If list items within the %s directive have the "
680 // check matching, End directive is optional
690 if (llvm::omp::allSimdSet.test(GetContext().directive)) {
727 llvm::omp::topTeamsSet.test(GetContextParent().directive)) {
968 "If %s directive is nested inside TARGET region, the behaviour is unspecified"_port_en_US,
1094 "enclosed SCAN directive"_err_en_US,
1115 if (llvm::omp::allSimdSet.test(GetContext().directive)) {
1149 if ((GetContext().directive == llvm::omp::Directive::OMPD_end_do) ||
1150 (GetContext().directive == llvm::omp::Directive::OMPD_end_do_simd)) {
1165 if (llvm::omp::allTargetSet.test(GetContext().directive)) {
1170 if (llvm::omp::topTeamsSet.test(GetContextParent().directive)) {
1173 if (GetContext().directive == llvm::omp::Directive::OMPD_master) {
1178 if (GetContext().directive == llvm::omp::Directive::OMPD_teams &&
1179 GetContextParent().directive != llvm::omp::Directive::OMPD_target) {
1188 if (GetContext().directive == llvm::omp::Directive::OMPD_teams &&
1189 GetContextParent().directive == llvm::omp::Directive::OMPD_target &&
1258 if (llvm::omp::allTargetSet.test(GetContext().directive)) {
1279 if (llvm::omp::nestedOrderedErrSet.test(dirContext_[i].directive)) {
1284 } else if (llvm::omp::allDoSet.test(dirContext_[i].directive)) {
1287 llvm::omp::allDoSimdSet.test(dirContext_[i].directive);
1298 } else if (llvm::omp::allSimdSet.test(dirContext_[i].directive)) {
1302 dirContext_[i].directive)) {
1311 "An ORDERED directive without the DEPEND clause must be closely nested "
1319 "An ORDERED directive with SIMD clause must be closely nested in a "
1324 "An ORDERED directive without the DEPEND clause must be closely "
1332 switch (GetContext().directive) {
1385 if (GetContext().directive == llvm::omp::Directive::OMPD_end_sections) {
1405 if (GetContext().directive ==
1409 "directive"_err_en_US,
1411 // TODO: Check for procedure name in declare target directive.
1413 if (GetContext().directive ==
1417 "directive"_err_en_US,
1419 else if (GetContext().directive ==
1423 "The entity with PARAMETER attribute is used in a %s directive"_warn_en_US,
1427 "A variable in a %s directive cannot be an element of a "
1432 "A variable in a %s directive cannot appear in an "
1436 GetContext().directive ==
1440 "directive"_err_en_US,
1458 "directive"_err_en_US,
1464 "A variable that appears in a %s directive must be "
1471 "The %s directive and the common block or variable "
1627 "If the DECLARE TARGET directive has a clause, it must contain at least one ENTER clause or LINK clause"_err_en_US);
1632 "The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead."_warn_en_US);
1697 "The given %s directive clause has an invalid argument"_err_en_US,
1705 "The given %s directive clause has an invalid argument"_err_en_US,
1816 "The ERROR directive with AT(EXECUTION) cannot appear in the specification part"_err_en_US);
1877 !llvm::omp::scanParentAllowedSet.test(GetContextParent().directive)) {
1880 "to enclose the directive in to a WORKSHARING LOOP, a WORKSHARING "
1881 "LOOP SIMD or a SIMD directive."_err_en_US);
1924 "At most one SOURCE dependence type can appear on the ORDERED directive"_err_en_US);
1945 llvm::omp::nestedOrderedDoAllowedSet.test(GetContextParent().directive)) {
2093 switch (GetContext().directive) {
2120 "must not be specified on the FLUSH directive"_err_en_US);
2151 "CRITICAL directive names do not match"_err_en_US})
2157 "CRITICAL directive names do not match"_err_en_US})
2163 "CRITICAL directive names do not match"_err_en_US})
2171 "an unnamed CRITICAL directive"_err_en_US});
2209 GetContextParent().directive)) {
2214 // in the directive context stack.
2215 if (GetContextParent().directive == llvm::omp::Directive::OMPD_task ||
2218 if (dirContext_[i].directive ==
2223 dirContext_[i].directive)) {
2243 GetContextParent().directive)) {
2249 GetContextParent().directive)) {
2255 GetContextParent().directive)) {
2267 getDirectiveName(GetContextParent().directive).str()));
2270 // The cancellation directive cannot be orphaned.
2274 "%s %s directive is not closely nested inside "
2282 "%s %s directive is not closely nested inside "
2290 "%s %s directive is not closely nested inside "
2298 "%s %s directive is not closely nested inside "
2337 if ((GetContext().directive == llvm::omp::Directive::OMPD_end_scope) ||
2338 (GetContext().directive == llvm::omp::Directive::OMPD_end_single) ||
2339 (GetContext().directive == llvm::omp::Directive::OMPD_end_workshare)) {
2768 if (llvm::omp::allDoSet.test(GetContext().directive)) {
2816 if (llvm::omp::allSimdSet.test(GetContext().directive)) {
2844 "The `SAFELEN` clause cannot appear in the `SIMD` directive "
2856 if (GetContext().directive == llvm::omp::Directive::OMPD_end_single) {
3062 llvm::omp::Directive dir{GetContext().directive};
3105 if (llvm::omp::nestedReduceWorkshareAllowedSet.test(GetContext().directive)) {
3352 if (dirCtx.directive == llvm::omp::Directive::OMPD_loop) {
3355 // appears on the directive, then the reduction modifier must be
3358 "REDUCTION modifier on LOOP directive must be DEFAULT"_err_en_US);
3361 // "Task" is only allowed on worksharing or "parallel" directive.
3370 if (dirCtx.directive != llvm::omp::Directive::OMPD_parallel &&
3371 !llvm::is_contained(worksharing, dirCtx.directive)) {
3374 "PARALLEL or worksharing directive"_err_en_US);
3378 // or "simd" directive.
3381 if (!llvm::omp::scanParentAllowedSet.test(dirCtx.directive)) {
3385 "or SIMD directive"_err_en_US);
3456 if (llvm::omp::allDoSimdSet.test(GetContext().directive)) {
3459 "on the %s directive"_err_en_US,
3481 if (llvm::omp::noWaitClauseNotAllowedSet.test(GetContext().directive)) {
3483 "%s clause is not allowed on the OMP %s directive,"
3484 " use it on OMP END %s directive "_err_en_US,
3524 "directive"_err_en_US,
3530 GetContext().directive)) {
3534 "directive"_err_en_US,
3629 // OmpAtomic node represents atomic directive without atomic-clause.
3634 "Clause ACQUIRE is not allowed on the ATOMIC directive"_err_en_US);
3638 "Clause ACQ_REL is not allowed on the ATOMIC directive"_err_en_US);
3703 llvm::omp::Directive dir{GetContext().directive};
3716 // A leaf can only appear once in a compound directive, so if `part`
3745 "%s is not a constituent of the %s directive"_err_en_US,
3748 "Cannot apply to directive"_en_US);
3785 llvm::omp::Directive dir{GetContext().directive};
3810 "A modifier may not be specified in a LINEAR clause on the %s directive"_err_en_US,
3892 "for MAP clauses on the %s directive"_err_en_US,
3916 switch (GetContext().directive) {
3966 if (llvm::omp::allDoSet.test(GetContext().directive)) {
4007 llvm::omp::Directive dir{GetContext().directive};
4019 "The ANCESTOR %s must not appear on the DEVICE clause on any directive other than the TARGET construct. Found on %s construct."_err_en_US,
4028 llvm::omp::Directive dir{GetContext().directive};
4066 "The SINK and SOURCE dependence types can only be used with the ORDERED directive, used here in the %s construct"_err_en_US,
4220 if (GetContext().directive == llvm::omp::Directive::OMPD_single) {
4222 "%s clause is not allowed on the OMP %s directive,"
4223 " use it on OMP END %s directive "_err_en_US,
4296 llvm::omp::Directive dir{GetContext().directive};
4501 if (GetContext().directive == llvm::omp::OMPD_declare_target) {
4505 assert(GetContext().directive == llvm::omp::OMPD_target_update);
4531 // a non-combined "target" directive (for reasons of splitting combined
4533 if (GetContext().directive != llvm::omp::Directive::OMPD_target_teams) {
4553 llvm::omp::Directive directive) {
4554 return llvm::omp::getOpenMPDirectiveName(directive);
4720 auto range{dirClauseTriple.equal_range(GetContext().directive)};
4969 "REQUIRES directive with '%s' clause found lexically after device "