Lines Matching defs:DKind
576 bool clang::isOpenMPLoopDirective(OpenMPDirectiveKind DKind) {
577 return getDirectiveAssociation(DKind) == Association::Loop;
580 bool clang::isOpenMPWorksharingDirective(OpenMPDirectiveKind DKind) {
581 return DKind == OMPD_for || DKind == OMPD_for_simd ||
582 DKind == OMPD_sections || DKind == OMPD_section ||
583 DKind == OMPD_single || DKind == OMPD_parallel_for ||
584 DKind == OMPD_parallel_for_simd || DKind == OMPD_parallel_sections ||
585 DKind == OMPD_target_parallel_for ||
586 DKind == OMPD_distribute_parallel_for ||
587 DKind == OMPD_distribute_parallel_for_simd ||
588 DKind == OMPD_target_parallel_for_simd ||
589 DKind == OMPD_teams_distribute_parallel_for_simd ||
590 DKind == OMPD_teams_distribute_parallel_for ||
591 DKind == OMPD_target_teams_distribute_parallel_for ||
592 DKind == OMPD_target_teams_distribute_parallel_for_simd ||
593 DKind == OMPD_parallel_loop || DKind == OMPD_teams_loop ||
594 DKind == OMPD_target_parallel_loop || DKind == OMPD_target_teams_loop;
597 bool clang::isOpenMPTaskLoopDirective(OpenMPDirectiveKind DKind) {
598 return DKind == OMPD_taskloop ||
599 llvm::is_contained(getLeafConstructs(DKind), OMPD_taskloop);
602 bool clang::isOpenMPParallelDirective(OpenMPDirectiveKind DKind) {
603 if (DKind == OMPD_teams_loop)
605 return DKind == OMPD_parallel ||
606 llvm::is_contained(getLeafConstructs(DKind), OMPD_parallel);
609 bool clang::isOpenMPTargetExecutionDirective(OpenMPDirectiveKind DKind) {
610 return DKind == OMPD_target ||
611 llvm::is_contained(getLeafConstructs(DKind), OMPD_target);
614 bool clang::isOpenMPTargetDataManagementDirective(OpenMPDirectiveKind DKind) {
615 return DKind == OMPD_target_data || DKind == OMPD_target_enter_data ||
616 DKind == OMPD_target_exit_data || DKind == OMPD_target_update;
619 bool clang::isOpenMPNestingTeamsDirective(OpenMPDirectiveKind DKind) {
620 if (DKind == OMPD_teams)
622 ArrayRef<Directive> Leaves = getLeafConstructs(DKind);
626 bool clang::isOpenMPTeamsDirective(OpenMPDirectiveKind DKind) {
627 return DKind == OMPD_teams ||
628 llvm::is_contained(getLeafConstructs(DKind), OMPD_teams);
631 bool clang::isOpenMPSimdDirective(OpenMPDirectiveKind DKind) {
633 if (getDirectiveAssociation(DKind) != Association::Loop)
638 return DKind == OMPD_simd ||
639 llvm::is_contained(getLeafConstructs(DKind), OMPD_simd);
686 bool clang::isOpenMPLoopTransformationDirective(OpenMPDirectiveKind DKind) {
687 return DKind == OMPD_tile || DKind == OMPD_unroll || DKind == OMPD_reverse ||
688 DKind == OMPD_interchange;
691 bool clang::isOpenMPCombinedParallelADirective(OpenMPDirectiveKind DKind) {
692 return DKind == OMPD_parallel_for || DKind == OMPD_parallel_for_simd ||
693 DKind == OMPD_parallel_master ||
694 DKind == OMPD_parallel_master_taskloop ||
695 DKind == OMPD_parallel_master_taskloop_simd ||
696 DKind == OMPD_parallel_sections;
699 bool clang::needsTaskBasedThreadLimit(OpenMPDirectiveKind DKind) {
700 return DKind == OMPD_target || DKind == OMPD_target_parallel ||
701 DKind == OMPD_target_parallel_for ||
702 DKind == OMPD_target_parallel_for_simd || DKind == OMPD_target_simd ||
703 DKind == OMPD_target_parallel_loop;
706 bool clang::isOpenMPExecutableDirective(OpenMPDirectiveKind DKind) {
707 if (DKind == OMPD_error)
709 Category Cat = getDirectiveCategory(DKind);
713 bool clang::isOpenMPCapturingDirective(OpenMPDirectiveKind DKind) {
714 if (isOpenMPExecutableDirective(DKind)) {
715 switch (DKind) {
731 return !isOpenMPLoopTransformationDirective(DKind);
735 switch (DKind) {
747 OpenMPDirectiveKind DKind) {
748 assert(unsigned(DKind) < llvm::omp::Directive_enumSize);
749 assert(isOpenMPCapturingDirective(DKind) && "Expecting capturing directive");
816 for (OpenMPDirectiveKind L : getLeafConstructsOrSelf(DKind))