1 #ifndef Omp_Support_h_INCLUDED
2 #define Omp_Support_h_INCLUDED
32 enum omp_construct_enum
80 e_end_parallel_sections,
81 e_end_parallel_workshare,
125 e_default_firstprivate,
138 e_in_reduction_identifier_plus,
139 e_in_reduction_identifier_mul,
140 e_in_reduction_identifier_minus,
141 e_in_reduction_identifier_bitand,
142 e_in_reduction_identifier_bitor,
143 e_in_reduction_identifier_bitxor,
144 e_in_reduction_identifier_logand,
145 e_in_reduction_identifier_logor,
146 e_in_reduction_identifier_and,
147 e_in_reduction_identifier_or,
148 e_in_reduction_identifier_eqv,
149 e_in_reduction_identifier_neqv,
150 e_in_reduction_identifier_max,
151 e_in_reduction_identifier_min,
152 e_in_reduction_identifier_iand,
153 e_in_reduction_identifier_ior,
154 e_in_reduction_identifier_ieor,
157 e_task_reduction_identifier_plus,
158 e_task_reduction_identifier_mul,
159 e_task_reduction_identifier_minus,
160 e_task_reduction_identifier_bitand,
161 e_task_reduction_identifier_bitor,
162 e_task_reduction_identifier_bitxor,
163 e_task_reduction_identifier_logand,
164 e_task_reduction_identifier_logor,
165 e_task_reduction_identifier_and,
166 e_task_reduction_identifier_or,
167 e_task_reduction_identifier_eqv,
168 e_task_reduction_identifier_neqv,
169 e_task_reduction_identifier_max,
170 e_task_reduction_identifier_min,
171 e_task_reduction_identifier_iand,
172 e_task_reduction_identifier_ior,
173 e_task_reduction_identifier_ieor,
210 e_lastprivate_conditional,
222 e_user_defined_parameter,
260 e_depend_mutexinoutset,
264 e_omp_depend_modifier_iterator,
268 e_allocate_default_mem_alloc,
269 e_allocate_large_cap_mem_alloc,
270 e_allocate_const_mem_alloc,
271 e_allocate_high_bw_mem_alloc,
272 e_allocate_low_lat_mem_alloc,
273 e_allocate_cgroup_mem_alloc,
274 e_allocate_pteam_mem_alloc,
275 e_allocate_thread_mem_alloc,
285 extern omp_construct_enum cur_omp_directive;
292 std::string
toString(omp_construct_enum omp_type);
307 bool isClause(omp_construct_enum omp_type);
322 omp_construct_enum clause_type;
323 omp_construct_enum first_parameter;
324 omp_construct_enum second_parameter;
325 omp_construct_enum third_parameter;
326 std::pair < std::string, SgExpression* > user_defined_parameter;
327 std::pair < std::string, SgExpression* > expression;
328 std::vector < std::pair < std::string, SgNode* > > variable_list;
330 ComplexClause(omp_construct_enum first=e_unknown, omp_construct_enum second=e_unknown, omp_construct_enum third=e_unknown) : first_parameter(first), second_parameter(second), third_parameter(third) {};
337 #endif //Omp_Support_h_INCLUDED