Lines Matching defs:dir
253 llvm::omp::Directive dir{dirCtx.directive};
255 if (!llvm::omp::isAllowedClauseForDirective(dir, clause, version)) {
261 if (llvm::omp::isAllowedClauseForDirective(dir, clause, v)) {
272 auto dirName{parser::ToUpperCaseLetters(getDirectiveName(dir).str())};
536 const llvm::omp::Directive &dir, const parser::CharBlock &source) {
537 if (!llvm::omp::nestedTeamsAllowedSet.test(dir)) {
874 const auto &dir{std::get<parser::OmpSimpleStandaloneDirective>(
876 if (dir.v == llvm::omp::Directive::OMPD_ordered) {
885 } else if (dir.v == llvm::omp::Directive::OMPD_scan) {
937 const auto &dir{
939 if (dir.v == llvm::omp::Directive::OMPD_target_update ||
940 dir.v ==
942 dir.v ==
945 ineligibleTargetDir = dir.v;
1130 const auto &dir{std::get<parser::OmpLoopDirective>(x.t)};
1131 ResetPartialContext(dir.source);
1132 switch (dir.v) {
1136 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_end_do);
1140 dir.source, llvm::omp::Directive::OMPD_end_do_simd);
1366 const auto &dir{std::get<parser::OmpSectionsDirective>(x.t)};
1367 ResetPartialContext(dir.source);
1368 switch (dir.v) {
1372 dir.source, llvm::omp::Directive::OMPD_end_sections);
1487 const auto &dir{std::get<parser::Verbatim>(c.t)};
1489 dir.source, llvm::omp::Directive::OMPD_threadprivate);
1493 const auto &dir{std::get<parser::Verbatim>(c.t)};
1495 CheckSymbolNames(dir.source, objectList);
1496 CheckIsVarPartOfAnotherVar(dir.source, objectList);
1502 const auto &dir{std::get<parser::Verbatim>(x.t)};
1503 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_declare_simd);
1511 const auto &dir{std::get<parser::Verbatim>(x.t)};
1512 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_depobj);
1544 const auto &dir{std::get<parser::Verbatim>(x.t)};
1545 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_requires);
1563 const auto &dir{std::get<parser::Verbatim>(x.t)};
1565 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_allocate);
1570 CheckIsVarPartOfAnotherVar(dir.source, objectList);
1574 const auto &dir{std::get<parser::Verbatim>(x.t)};
1576 CheckPredefinedAllocatorRestriction(dir.source, objectList);
1638 const auto &dir{std::get<parser::Verbatim>(x.t)};
1640 dir.source, llvm::omp::Directive::OMPD_declare_mapper);
1644 context_.Say(dir.source, "Type is not a derived type"_err_en_US);
1653 const auto &dir{std::get<parser::Verbatim>(x.t)};
1654 PushContext(dir.source, llvm::omp::Directive::OMPD_declare_target);
1715 const auto &dir{std::get<parser::Verbatim>(x.t)};
1723 CheckSymbolNames(dir.source, *objectList);
1724 CheckIsVarPartOfAnotherVar(dir.source, *objectList);
1736 CheckSymbolNames(dir.source, objList);
1737 CheckIsVarPartOfAnotherVar(dir.source, objList);
1741 CheckSymbolNames(dir.source, linkClause.v);
1742 CheckIsVarPartOfAnotherVar(dir.source, linkClause.v);
1747 CheckSymbolNames(dir.source, enterClause.v);
1748 CheckIsVarPartOfAnotherVar(dir.source, enterClause.v);
1773 const auto &dir{std::get<parser::Verbatim>(x.t)};
1774 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_error);
1823 const auto &dir{std::get<parser::Verbatim>(x.t)};
1825 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_allocate);
1831 CheckIsVarPartOfAnotherVar(dir.source, *objectList);
1836 const auto &dir{std::get<parser::Verbatim>(x.t)};
1839 CheckPredefinedAllocatorRestriction(dir.source, *objectList);
1845 const auto &dir{std::get<parser::Verbatim>(x.t)};
1846 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_allocators);
1852 dir.source, std::get<parser::OmpObjectList>(allocClause->v.t));
1858 const auto &dir{std::get<parser::Verbatim>(x.t)};
1864 dir.source, std::get<parser::OmpObjectList>(allocClause->v.t));
2077 const auto &dir{std::get<parser::OmpSimpleStandaloneDirective>(x.t)};
2078 PushContextAndClauseSets(dir.source, dir.v);
2079 switch (dir.v) {
2108 const auto &dir{std::get<parser::Verbatim>(x.t)};
2109 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_flush);
2127 const auto &dir{std::get<parser::Verbatim>(x.t)};
2129 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_cancel);
2130 CheckCancellationNest(dir.source, type.v);
2138 const auto &dir{std::get<parser::OmpCriticalDirective>(x.t)};
2140 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_critical);
2142 CheckNoBranching(block, llvm::omp::Directive::OMPD_critical, dir.source);
2143 const auto &dirName{std::get<std::optional<parser::Name>>(dir.t)};
2145 const auto &ompClause{std::get<parser::OmpClauseList>(dir.t)};
2168 context_.Say(dir.source,
2182 const auto &dir{std::get<parser::Verbatim>(x.t)};
2185 dir.source, llvm::omp::Directive::OMPD_cancellation_point);
2186 CheckCancellationNest(dir.source, type.v);
2309 const auto &dir{std::get<parser::OmpBlockDirective>(x.t)};
2310 ResetPartialContext(dir.source);
2311 switch (dir.v) {
2313 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_end_scope);
2318 PushContextAndClauseSets(dir.source, llvm::omp::Directive::OMPD_end_single);
2323 dir.source, llvm::omp::Directive::OMPD_end_workshare);
2679 const auto &dir{std::get<parser::Verbatim>(atomicConstruct.t)};
2681 dir.source, llvm::omp::Directive::OMPD_atomic);
2694 const auto &dir{std::get<parser::Verbatim>(atomicUpdate.t)};
2696 dir.source, llvm::omp::Directive::OMPD_atomic);
2707 const auto &dir{std::get<parser::Verbatim>(atomicRead.t)};
2709 dir.source, llvm::omp::Directive::OMPD_atomic);
2720 const auto &dir{std::get<parser::Verbatim>(atomicWrite.t)};
2722 dir.source, llvm::omp::Directive::OMPD_atomic);
2733 const auto &dir{std::get<parser::Verbatim>(atomicCapture.t)};
2735 dir.source, llvm::omp::Directive::OMPD_atomic);
2743 const auto &dir{std::get<parser::Verbatim>(atomicCompare.t)};
2745 dir.source, llvm::omp::Directive::OMPD_atomic);
3062 llvm::omp::Directive dir{GetContext().directive};
3064 if (dir == llvm::omp::Directive::OMPD_depobj) {
3703 llvm::omp::Directive dir{GetContext().directive};
3705 auto isConstituent{[](llvm::omp::Directive dir, llvm::omp::Directive part) {
3707 llvm::ArrayRef<Directive> dirLeafs{getLeafConstructsOrSelf(dir)};
3710 // of `dir`, but to be safe check if `partLeafs` is a sub-sequence of
3713 // Find the first leaf from `part` in `dir`.
3717 // is a subsequence of `dir`, it must start here.
3736 llvm::omp::getOpenMPDirectiveName(dir).str())};
3742 if (!isConstituent(dir, sub)) {
3785 llvm::omp::Directive dir{GetContext().directive};
3808 if ((llvm::omp::allDoSet | llvm::omp::allSimdSet).test(dir)) {
3860 if (dir == llvm::omp::Directive::OMPD_declare_simd && !IsDummy(*symbol)) {
4007 llvm::omp::Directive dir{GetContext().directive};
4016 if (dir != llvm::omp::OMPD_target && deviceMod->v == Value::Ancestor) {
4020 name.str(), parser::ToUpperCaseLetters(getDirectiveName(dir)));
4028 llvm::omp::Directive dir{GetContext().directive};
4043 if (dir == llvm::omp::OMPD_depobj) {
4063 } else if (dir != llvm::omp::OMPD_ordered) {
4067 parser::ToUpperCaseLetters(getDirectiveName(dir)));
4072 if (dir == llvm::omp::OMPD_depobj) {
4103 if (dir == llvm::omp::OMPD_depobj) {
4296 llvm::omp::Directive dir{GetContext().directive};
4315 if (dir == llvm::omp::OMPD_depobj) {