Lines Matching defs:C
106 // C++20 [temp.over.link]p6:
119 // The Itanium C++ ABI uses the type, scope depth, and scope
123 // definition of "equivalent" (per C++ [temp.over.link]) is at
127 // TODO: The Itanium C++ ABI only uses the top-level cv-qualifiers,
438 #define CLAUSE_CLASS(Enum, Str, Class) void Visit##Class(const Class *C);
440 void VistOMPClauseWithPreInit(const OMPClauseWithPreInit *C);
441 void VistOMPClauseWithPostUpdate(const OMPClauseWithPostUpdate *C);
445 const OMPClauseWithPreInit *C) {
446 if (auto *S = C->getPreInitStmt())
451 const OMPClauseWithPostUpdate *C) {
452 VistOMPClauseWithPreInit(C);
453 if (auto *E = C->getPostUpdateExpr())
457 void OMPClauseProfiler::VisitOMPIfClause(const OMPIfClause *C) {
458 VistOMPClauseWithPreInit(C);
459 if (C->getCondition())
460 Profiler->VisitStmt(C->getCondition());
463 void OMPClauseProfiler::VisitOMPFinalClause(const OMPFinalClause *C) {
464 VistOMPClauseWithPreInit(C);
465 if (C->getCondition())
466 Profiler->VisitStmt(C->getCondition());
469 void OMPClauseProfiler::VisitOMPNumThreadsClause(const OMPNumThreadsClause *C) {
470 VistOMPClauseWithPreInit(C);
471 if (C->getNumThreads())
472 Profiler->VisitStmt(C->getNumThreads());
475 void OMPClauseProfiler::VisitOMPAlignClause(const OMPAlignClause *C) {
476 if (C->getAlignment())
477 Profiler->VisitStmt(C->getAlignment());
480 void OMPClauseProfiler::VisitOMPSafelenClause(const OMPSafelenClause *C) {
481 if (C->getSafelen())
482 Profiler->VisitStmt(C->getSafelen());
485 void OMPClauseProfiler::VisitOMPSimdlenClause(const OMPSimdlenClause *C) {
486 if (C->getSimdlen())
487 Profiler->VisitStmt(C->getSimdlen());
490 void OMPClauseProfiler::VisitOMPSizesClause(const OMPSizesClause *C) {
491 for (auto *E : C->getSizesRefs())
496 void OMPClauseProfiler::VisitOMPFullClause(const OMPFullClause *C) {}
498 void OMPClauseProfiler::VisitOMPPartialClause(const OMPPartialClause *C) {
499 if (const Expr *Factor = C->getFactor())
503 void OMPClauseProfiler::VisitOMPAllocatorClause(const OMPAllocatorClause *C) {
504 if (C->getAllocator())
505 Profiler->VisitStmt(C->getAllocator());
508 void OMPClauseProfiler::VisitOMPCollapseClause(const OMPCollapseClause *C) {
509 if (C->getNumForLoops())
510 Profiler->VisitStmt(C->getNumForLoops());
513 void OMPClauseProfiler::VisitOMPDetachClause(const OMPDetachClause *C) {
514 if (Expr *Evt = C->getEventHandler())
518 void OMPClauseProfiler::VisitOMPNovariantsClause(const OMPNovariantsClause *C) {
519 VistOMPClauseWithPreInit(C);
520 if (C->getCondition())
521 Profiler->VisitStmt(C->getCondition());
524 void OMPClauseProfiler::VisitOMPNocontextClause(const OMPNocontextClause *C) {
525 VistOMPClauseWithPreInit(C);
526 if (C->getCondition())
527 Profiler->VisitStmt(C->getCondition());
530 void OMPClauseProfiler::VisitOMPDefaultClause(const OMPDefaultClause *C) { }
532 void OMPClauseProfiler::VisitOMPProcBindClause(const OMPProcBindClause *C) { }
535 const OMPUnifiedAddressClause *C) {}
538 const OMPUnifiedSharedMemoryClause *C) {}
541 const OMPReverseOffloadClause *C) {}
544 const OMPDynamicAllocatorsClause *C) {}
547 const OMPAtomicDefaultMemOrderClause *C) {}
549 void OMPClauseProfiler::VisitOMPAtClause(const OMPAtClause *C) {}
551 void OMPClauseProfiler::VisitOMPSeverityClause(const OMPSeverityClause *C) {}
553 void OMPClauseProfiler::VisitOMPMessageClause(const OMPMessageClause *C) {
554 if (C->getMessageString())
555 Profiler->VisitStmt(C->getMessageString());
558 void OMPClauseProfiler::VisitOMPScheduleClause(const OMPScheduleClause *C) {
559 VistOMPClauseWithPreInit(C);
560 if (auto *S = C->getChunkSize())
564 void OMPClauseProfiler::VisitOMPOrderedClause(const OMPOrderedClause *C) {
565 if (auto *Num = C->getNumForLoops())
605 void OMPClauseProfiler::VisitOMPInitClause(const OMPInitClause *C) {
606 VisitOMPClauseList(C);
609 void OMPClauseProfiler::VisitOMPUseClause(const OMPUseClause *C) {
610 if (C->getInteropVar())
611 Profiler->VisitStmt(C->getInteropVar());
614 void OMPClauseProfiler::VisitOMPDestroyClause(const OMPDestroyClause *C) {
615 if (C->getInteropVar())
616 Profiler->VisitStmt(C->getInteropVar());
619 void OMPClauseProfiler::VisitOMPFilterClause(const OMPFilterClause *C) {
620 VistOMPClauseWithPreInit(C);
621 if (C->getThreadID())
622 Profiler->VisitStmt(C->getThreadID());
633 void OMPClauseProfiler::VisitOMPPrivateClause(const OMPPrivateClause *C) {
634 VisitOMPClauseList(C);
635 for (auto *E : C->private_copies()) {
641 OMPClauseProfiler::VisitOMPFirstprivateClause(const OMPFirstprivateClause *C) {
642 VisitOMPClauseList(C);
643 VistOMPClauseWithPreInit(C);
644 for (auto *E : C->private_copies()) {
648 for (auto *E : C->inits()) {
654 OMPClauseProfiler::VisitOMPLastprivateClause(const OMPLastprivateClause *C) {
655 VisitOMPClauseList(C);
656 VistOMPClauseWithPostUpdate(C);
657 for (auto *E : C->source_exprs()) {
661 for (auto *E : C->destination_exprs()) {
665 for (auto *E : C->assignment_ops()) {
670 void OMPClauseProfiler::VisitOMPSharedClause(const OMPSharedClause *C) {
671 VisitOMPClauseList(C);
674 const OMPReductionClause *C) {
676 C->getQualifierLoc().getNestedNameSpecifier());
677 Profiler->VisitName(C->getNameInfo().getName());
678 VisitOMPClauseList(C);
679 VistOMPClauseWithPostUpdate(C);
680 for (auto *E : C->privates()) {
684 for (auto *E : C->lhs_exprs()) {
688 for (auto *E : C->rhs_exprs()) {
692 for (auto *E : C->reduction_ops()) {
696 if (C->getModifier() == clang::OMPC_REDUCTION_inscan) {
697 for (auto *E : C->copy_ops()) {
701 for (auto *E : C->copy_array_temps()) {
705 for (auto *E : C->copy_array_elems()) {
712 const OMPTaskReductionClause *C) {
714 C->getQualifierLoc().getNestedNameSpecifier());
715 Profiler->VisitName(C->getNameInfo().getName());
716 VisitOMPClauseList(C);
717 VistOMPClauseWithPostUpdate(C);
718 for (auto *E : C->privates()) {
722 for (auto *E : C->lhs_exprs()) {
726 for (auto *E : C->rhs_exprs()) {
730 for (auto *E : C->reduction_ops()) {
736 const OMPInReductionClause *C) {
738 C->getQualifierLoc().getNestedNameSpecifier());
739 Profiler->VisitName(C->getNameInfo().getName());
740 VisitOMPClauseList(C);
741 VistOMPClauseWithPostUpdate(C);
742 for (auto *E : C->privates()) {
746 for (auto *E : C->lhs_exprs()) {
750 for (auto *E : C->rhs_exprs()) {
754 for (auto *E : C->reduction_ops()) {
758 for (auto *E : C->taskgroup_descriptors()) {
763 void OMPClauseProfiler::VisitOMPLinearClause(const OMPLinearClause *C) {
764 VisitOMPClauseList(C);
765 VistOMPClauseWithPostUpdate(C);
766 for (auto *E : C->privates()) {
770 for (auto *E : C->inits()) {
774 for (auto *E : C->updates()) {
778 for (auto *E : C->finals()) {
782 if (C->getStep())
783 Profiler->VisitStmt(C->getStep());
784 if (C->getCalcStep())
785 Profiler->VisitStmt(C->getCalcStep());
787 void OMPClauseProfiler::VisitOMPAlignedClause(const OMPAlignedClause *C) {
788 VisitOMPClauseList(C);
789 if (C->getAlignment())
790 Profiler->VisitStmt(C->getAlignment());
792 void OMPClauseProfiler::VisitOMPCopyinClause(const OMPCopyinClause *C) {
793 VisitOMPClauseList(C);
794 for (auto *E : C->source_exprs()) {
798 for (auto *E : C->destination_exprs()) {
802 for (auto *E : C->assignment_ops()) {
808 OMPClauseProfiler::VisitOMPCopyprivateClause(const OMPCopyprivateClause *C) {
809 VisitOMPClauseList(C);
810 for (auto *E : C->source_exprs()) {
814 for (auto *E : C->destination_exprs()) {
818 for (auto *E : C->assignment_ops()) {
823 void OMPClauseProfiler::VisitOMPFlushClause(const OMPFlushClause *C) {
824 VisitOMPClauseList(C);
826 void OMPClauseProfiler::VisitOMPDepobjClause(const OMPDepobjClause *C) {
827 if (const Expr *Depobj = C->getDepobj())
830 void OMPClauseProfiler::VisitOMPDependClause(const OMPDependClause *C) {
831 VisitOMPClauseList(C);
833 void OMPClauseProfiler::VisitOMPDeviceClause(const OMPDeviceClause *C) {
834 if (C->getDevice())
835 Profiler->VisitStmt(C->getDevice());
837 void OMPClauseProfiler::VisitOMPMapClause(const OMPMapClause *C) {
838 VisitOMPClauseList(C);
840 void OMPClauseProfiler::VisitOMPAllocateClause(const OMPAllocateClause *C) {
841 if (Expr *Allocator = C->getAllocator())
843 VisitOMPClauseList(C);
845 void OMPClauseProfiler::VisitOMPNumTeamsClause(const OMPNumTeamsClause *C) {
846 VistOMPClauseWithPreInit(C);
847 if (C->getNumTeams())
848 Profiler->VisitStmt(C->getNumTeams());
851 const OMPThreadLimitClause *C) {
852 VistOMPClauseWithPreInit(C);
853 if (C->getThreadLimit())
854 Profiler->VisitStmt(C->getThreadLimit());
856 void OMPClauseProfiler::VisitOMPPriorityClause(const OMPPriorityClause *C) {
857 VistOMPClauseWithPreInit(C);
858 if (C->getPriority())
859 Profiler->VisitStmt(C->getPriority());
861 void OMPClauseProfiler::VisitOMPGrainsizeClause(const OMPGrainsizeClause *C) {
862 VistOMPClauseWithPreInit(C);
863 if (C->getGrainsize())
864 Profiler->VisitStmt(C->getGrainsize());
866 void OMPClauseProfiler::VisitOMPNumTasksClause(const OMPNumTasksClause *C) {
867 VistOMPClauseWithPreInit(C);
868 if (C->getNumTasks())
869 Profiler->VisitStmt(C->getNumTasks());
871 void OMPClauseProfiler::VisitOMPHintClause(const OMPHintClause *C) {
872 if (C->getHint())
873 Profiler->VisitStmt(C->getHint());
875 void OMPClauseProfiler::VisitOMPToClause(const OMPToClause *C) {
876 VisitOMPClauseList(C);
878 void OMPClauseProfiler::VisitOMPFromClause(const OMPFromClause *C) {
879 VisitOMPClauseList(C);
882 const OMPUseDevicePtrClause *C) {
883 VisitOMPClauseList(C);
886 const OMPUseDeviceAddrClause *C) {
887 VisitOMPClauseList(C);
890 const OMPIsDevicePtrClause *C) {
891 VisitOMPClauseList(C);
894 const OMPHasDeviceAddrClause *C) {
895 VisitOMPClauseList(C);
898 const OMPNontemporalClause *C) {
899 VisitOMPClauseList(C);
900 for (auto *E : C->private_refs())
903 void OMPClauseProfiler::VisitOMPInclusiveClause(const OMPInclusiveClause *C) {
904 VisitOMPClauseList(C);
906 void OMPClauseProfiler::VisitOMPExclusiveClause(const OMPExclusiveClause *C) {
907 VisitOMPClauseList(C);
910 const OMPUsesAllocatorsClause *C) {
911 for (unsigned I = 0, E = C->getNumberOfAllocators(); I < E; ++I) {
912 OMPUsesAllocatorsClause::Data D = C->getAllocatorData(I);
918 void OMPClauseProfiler::VisitOMPAffinityClause(const OMPAffinityClause *C) {
919 if (const Expr *Modifier = C->getModifier())
921 for (const Expr *E : C->varlists())
924 void OMPClauseProfiler::VisitOMPOrderClause(const OMPOrderClause *C) {}
925 void OMPClauseProfiler::VisitOMPBindClause(const OMPBindClause *C) {}
927 const OMPXDynCGroupMemClause *C) {
928 VistOMPClauseWithPreInit(C);
929 if (Expr *Size = C->getSize())
932 void OMPClauseProfiler::VisitOMPDoacrossClause(const OMPDoacrossClause *C) {
933 VisitOMPClauseList(C);
935 void OMPClauseProfiler::VisitOMPXAttributeClause(const OMPXAttributeClause *C) {
937 void OMPClauseProfiler::VisitOMPXBareClause(const OMPXBareClause *C) {}
1196 const OMPDistScheduleClause *C) {
1197 VistOMPClauseWithPreInit(C);
1198 if (auto *S = C->getChunkSize())
1659 // C++2a [expr.prim.req.compound]p1 Example:
2075 // C++20 [temp.over.link]p5: