Lines Matching refs:Directive
23 using OmpDirectiveSet = Fortran::common::EnumSet<llvm::omp::Directive,
34 static OmpDirectiveSet parallelSet{Directive::OMPD_distribute_parallel_do,
35 Directive::OMPD_distribute_parallel_do_simd, Directive::OMPD_parallel,
36 Directive::OMPD_parallel_do, Directive::OMPD_parallel_do_simd,
37 Directive::OMPD_parallel_sections, Directive::OMPD_parallel_workshare,
38 Directive::OMPD_target_parallel, Directive::OMPD_target_parallel_do,
39 Directive::OMPD_target_parallel_do_simd,
40 Directive::OMPD_target_teams_distribute_parallel_do,
41 Directive::OMPD_target_teams_distribute_parallel_do_simd,
42 Directive::OMPD_teams_distribute_parallel_do,
43 Directive::OMPD_teams_distribute_parallel_do_simd};
44 static OmpDirectiveSet doSet{Directive::OMPD_distribute_parallel_do,
45 Directive::OMPD_distribute_parallel_do_simd, Directive::OMPD_parallel_do,
46 Directive::OMPD_parallel_do_simd, Directive::OMPD_do,
47 Directive::OMPD_do_simd, Directive::OMPD_target_parallel_do,
48 Directive::OMPD_target_parallel_do_simd,
49 Directive::OMPD_target_teams_distribute_parallel_do,
50 Directive::OMPD_target_teams_distribute_parallel_do_simd,
51 Directive::OMPD_teams_distribute_parallel_do,
52 Directive::OMPD_teams_distribute_parallel_do_simd};
53 static OmpDirectiveSet doSimdSet{Directive::OMPD_distribute_parallel_do_simd,
54 Directive::OMPD_parallel_do_simd, Directive::OMPD_do_simd,
55 Directive::OMPD_target_parallel_do_simd,
56 Directive::OMPD_target_teams_distribute_parallel_do_simd,
57 Directive::OMPD_teams_distribute_parallel_do_simd};
59 OmpDirectiveSet{Directive::OMPD_workshare,
60 Directive::OMPD_parallel_workshare, Directive::OMPD_parallel_sections,
61 Directive::OMPD_sections, Directive::OMPD_single} |
64 Directive::OMPD_taskloop, Directive::OMPD_taskloop_simd};
65 static OmpDirectiveSet targetSet{Directive::OMPD_target,
66 Directive::OMPD_target_parallel, Directive::OMPD_target_parallel_do,
67 Directive::OMPD_target_parallel_do_simd, Directive::OMPD_target_simd,
68 Directive::OMPD_target_teams, Directive::OMPD_target_teams_distribute,
69 Directive::OMPD_target_teams_distribute_simd};
70 static OmpDirectiveSet simdSet{Directive::OMPD_distribute_parallel_do_simd,
71 Directive::OMPD_distribute_simd, Directive::OMPD_parallel_do_simd,
72 Directive::OMPD_do_simd, Directive::OMPD_simd,
73 Directive::OMPD_target_parallel_do_simd,
74 Directive::OMPD_target_teams_distribute_parallel_do_simd,
75 Directive::OMPD_target_teams_distribute_simd, Directive::OMPD_target_simd,
76 Directive::OMPD_taskloop_simd,
77 Directive::OMPD_teams_distribute_parallel_do_simd,
78 Directive::OMPD_teams_distribute_simd};
79 static OmpDirectiveSet teamSet{Directive::OMPD_teams,
80 Directive::OMPD_teams_distribute,
81 Directive::OMPD_teams_distribute_parallel_do,
82 Directive::OMPD_teams_distribute_parallel_do_simd,
83 Directive::OMPD_teams_distribute_parallel_for,
84 Directive::OMPD_teams_distribute_parallel_for_simd,
85 Directive::OMPD_teams_distribute_simd};
87 OmpDirectiveSet{Directive::OMPD_task} | taskloopSet};
88 static OmpDirectiveSet nestedOrderedErrSet{Directive::OMPD_critical,
89 Directive::OMPD_ordered, Directive::OMPD_atomic, Directive::OMPD_task,
90 Directive::OMPD_taskloop};
92 OmpDirectiveSet{Directive::OMPD_task, Directive::OMPD_taskloop,
93 Directive::OMPD_critical, Directive::OMPD_ordered,
94 Directive::OMPD_atomic, Directive::OMPD_master} |
97 OmpDirectiveSet{llvm::omp::Directive::OMPD_atomic} | taskGeneratingSet |
100 OmpDirectiveSet{Directive::OMPD_critical, Directive::OMPD_ordered,
101 Directive::OMPD_atomic, Directive::OMPD_master} |
116 using DirectivesClauseTriple = std::multimap<llvm::omp::Directive,
117 std::pair<llvm::omp::Directive, const OmpClauseSet>>;
120 : public DirectiveStructureChecker<llvm::omp::Directive, llvm::omp::Clause,
199 const llvm::omp::Directive &dir, const parser::CharBlock &source);
207 llvm::StringRef getDirectiveName(llvm::omp::Directive directive) override;