Lines Matching defs:Clause
164 /// 'taskgroup' | 'teams' | 'taskloop' | 'taskloop simd' {clause} |
208 // pseudo-clause OMPFlushClause.
280 OMPClause *Clause =
283 if (Clause) {
284 FirstClauses[CKind].setPointer(Clause);
285 Clauses.push_back(Clause);
299 // If the depend clause is specified, the ordered construct is a stand-alone
409 /// clause:
410 /// if-clause | final-clause | num_threads-clause | safelen-clause |
411 /// default-clause | private-clause | firstprivate-clause | shared-clause
412 /// | linear-clause | aligned-clause | collapse-clause |
413 /// lastprivate-clause | reduction-clause | proc_bind-clause |
414 /// schedule-clause | copyin-clause | copyprivate-clause | untied-clause |
415 /// mergeable-clause | flush-clause | read-clause | write-clause |
416 /// update-clause | capture-clause | seq_cst-clause | device-clause |
417 /// simdlen-clause | threads-clause | simd-clause | num_teams-clause |
418 /// thread_limit-clause | priority-clause | grainsize-clause |
419 /// nogroup-clause | num_tasks-clause | hint-clause
423 OMPClause *Clause = nullptr;
425 // Check if clause is allowed for the given directive.
447 // At most one num_threads clause can appear on the directive.
449 // Only one safelen clause can appear on a simd directive.
450 // Only one simdlen clause can appear on a simd directive.
451 // Only one collapse clause can appear on a simd directive.
453 // At most one device clause can appear on the directive.
455 // At most one if clause can appear on the directive.
456 // At most one final clause can appear on the directive.
458 clause can appear on the directive.
459 // At most one thread_limit clause can appear on the directive.
461 // At most one priority clause can appear on the directive.
463 // At most one grainsize clause can appear on the directive.
465 // At most one num_tasks clause can appear on the directive.
473 Clause = ParseOpenMPClause(CKind);
475 Clause = ParseOpenMPSingleExprClause(CKind);
480 // Only a single default clause may be specified on a parallel, task or
483 // At most one proc_bind clause can appear on the directive.
490 Clause = ParseOpenMPSimpleClause(CKind);
494 // Only one schedule clause can appear on a loop directive.
502 Clause = ParseOpenMPSingleExprWithArgClause(CKind);
516 // Only one ordered clause can appear on a loop directive.
518 // Only one nowait clause can appear on a for directive.
525 Clause = ParseOpenMPClause(CKind);
539 Clause = ParseOpenMPVarListClause(DKind, CKind);
552 return ErrorFound ? nullptr : Clause;
559 /// final-clause:
562 /// num_threads-clause:
565 /// safelen-clause:
568 /// simdlen-clause:
571 /// collapse-clause:
574 /// priority-clause:
577 /// grainsize-clause:
580 /// num_tasks-clause:
583 /// hint-clause:
611 /// default-clause:
614 /// proc_bind-clause:
642 /// ordered-clause:
645 /// nowait-clause:
648 /// untied-clause:
651 /// mergeable-clause:
654 /// read-clause:
657 /// threads-clause:
660 /// simd-clause:
663 /// nogroup-clause:
677 /// schedule-clause:
680 /// if-clause:
786 /// \brief Parsing of OpenMP clause 'private', 'firstprivate', 'lastprivate',
789 /// private-clause:
791 /// firstprivate-clause:
793 /// lastprivate-clause:
795 /// shared-clause:
797 /// linear-clause:
799 /// aligned-clause:
801 /// reduction-clause:
803 /// copyprivate-clause:
805 /// flush-clause:
807 /// depend-clause:
809 /// map-clause:
813 /// For 'linear' clause linear-list may have the following forms:
827 // OpenMP 4.1 [2.15.3.7, linear Clause]
845 // Handle reduction-identifier for reduction clause.
863 // Handle dependency type for depend clause.
874 // Special processing for depend(source) clause.
902 // Handle map type for map clause.
996 // Parse ')' for linear clause with modifier.