Lines Matching defs:DKind
591 bool clang::isOpenMPLoopDirective(OpenMPDirectiveKind DKind) {
592 return getDirectiveAssociation(DKind) == Association::Loop;
595 bool clang::isOpenMPWorksharingDirective(OpenMPDirectiveKind DKind) {
596 return DKind == OMPD_for || DKind == OMPD_for_simd ||
597 DKind == OMPD_sections || DKind == OMPD_section ||
598 DKind == OMPD_single || DKind == OMPD_parallel_for ||
599 DKind == OMPD_parallel_for_simd || DKind == OMPD_parallel_sections ||
600 DKind == OMPD_target_parallel_for ||
601 DKind == OMPD_distribute_parallel_for ||
602 DKind == OMPD_distribute_parallel_for_simd ||
603 DKind == OMPD_target_parallel_for_simd ||
604 DKind == OMPD_teams_distribute_parallel_for_simd ||
605 DKind == OMPD_teams_distribute_parallel_for ||
606 DKind == OMPD_target_teams_distribute_parallel_for ||
607 DKind == OMPD_target_teams_distribute_parallel_for_simd ||
608 DKind == OMPD_parallel_loop || DKind == OMPD_teams_loop ||
609 DKind == OMPD_target_parallel_loop || DKind == OMPD_target_teams_loop;
612 bool clang::isOpenMPTaskLoopDirective(OpenMPDirectiveKind DKind) {
613 return DKind == OMPD_taskloop ||
614 llvm::is_contained(getLeafConstructs(DKind), OMPD_taskloop);
617 bool clang::isOpenMPParallelDirective(OpenMPDirectiveKind DKind) {
618 if (DKind == OMPD_teams_loop)
620 return DKind == OMPD_parallel ||
621 llvm::is_contained(getLeafConstructs(DKind), OMPD_parallel);
624 bool clang::isOpenMPTargetExecutionDirective(OpenMPDirectiveKind DKind) {
625 return DKind == OMPD_target ||
626 llvm::is_contained(getLeafConstructs(DKind), OMPD_target);
629 bool clang::isOpenMPTargetDataManagementDirective(OpenMPDirectiveKind DKind) {
630 return DKind == OMPD_target_data || DKind == OMPD_target_enter_data ||
631 DKind == OMPD_target_exit_data || DKind == OMPD_target_update;
634 bool clang::isOpenMPNestingTeamsDirective(OpenMPDirectiveKind DKind) {
635 if (DKind == OMPD_teams)
637 ArrayRef<Directive> Leaves = getLeafConstructs(DKind);
641 bool clang::isOpenMPTeamsDirective(OpenMPDirectiveKind DKind) {
642 return DKind == OMPD_teams ||
643 llvm::is_contained(getLeafConstructs(DKind), OMPD_teams);
646 bool clang::isOpenMPSimdDirective(OpenMPDirectiveKind DKind) {
648 if (getDirectiveAssociation(DKind) != Association::Loop)
653 return DKind == OMPD_simd ||
654 llvm::is_contained(getLeafConstructs(DKind), OMPD_simd);
701 bool clang::isOpenMPLoopTransformationDirective(OpenMPDirectiveKind DKind) {
702 return DKind == OMPD_tile || DKind == OMPD_unroll || DKind == OMPD_reverse ||
703 DKind == OMPD_interchange;
706 bool clang::isOpenMPCombinedParallelADirective(OpenMPDirectiveKind DKind) {
707 return DKind == OMPD_parallel_for || DKind == OMPD_parallel_for_simd ||
708 DKind == OMPD_parallel_master ||
709 DKind == OMPD_parallel_master_taskloop ||
710 DKind == OMPD_parallel_master_taskloop_simd ||
711 DKind == OMPD_parallel_sections;
714 bool clang::needsTaskBasedThreadLimit(OpenMPDirectiveKind DKind) {
715 return DKind == OMPD_target || DKind == OMPD_target_parallel ||
716 DKind == OMPD_target_parallel_for ||
717 DKind == OMPD_target_parallel_for_simd || DKind == OMPD_target_simd ||
718 DKind == OMPD_target_parallel_loop;
721 bool clang::isOpenMPExecutableDirective(OpenMPDirectiveKind DKind) {
722 if (DKind == OMPD_error)
724 Category Cat = getDirectiveCategory(DKind);
728 bool clang::isOpenMPInformationalDirective(OpenMPDirectiveKind DKind) {
729 if (DKind == OMPD_error)
731 Category Cat = getDirectiveCategory(DKind);
735 bool clang::isOpenMPCapturingDirective(OpenMPDirectiveKind DKind) {
736 if (isOpenMPExecutableDirective(DKind)) {
737 switch (DKind) {
754 return !isOpenMPLoopTransformationDirective(DKind);
758 switch (DKind) {
770 OpenMPDirectiveKind DKind) {
771 assert(unsigned(DKind) < llvm::omp::Directive_enumSize);
772 assert(isOpenMPCapturingDirective(DKind) && "Expecting capturing directive");
840 for (OpenMPDirectiveKind L : getLeafConstructsOrSelf(DKind))