Lines Matching refs:clauses
46 c_finish_oacc_wait (location_t loc, tree parms, tree clauses)
55 if (omp_find_clause (clauses, OMP_CLAUSE_ASYNC))
56 t = OMP_CLAUSE_ASYNC_EXPR (clauses);
94 c_finish_omp_masked (location_t loc, tree body, tree clauses)
99 OMP_MASKED_CLAUSES (stmt) = clauses;
108 c_finish_omp_taskgroup (location_t loc, tree body, tree clauses)
113 OMP_TASKGROUP_CLAUSES (stmt) = clauses;
123 c_finish_omp_critical (location_t loc, tree body, tree name, tree clauses)
125 gcc_assert (!clauses || OMP_CLAUSE_CODE (clauses) == OMP_CLAUSE_HINT);
127 && clauses != NULL_TREE
128 && integer_nonzerop (OMP_CLAUSE_HINT_EXPR (clauses)))
130 error_at (OMP_CLAUSE_LOCATION (clauses),
140 OMP_CRITICAL_CLAUSES (stmt) = clauses;
149 c_finish_omp_ordered (location_t loc, tree clauses, tree stmt)
155 && (OMP_CLAUSE_CODE (clauses) != OMP_CLAUSE_SIMD
156 || OMP_CLAUSE_CHAIN (clauses)))
157 clauses = build_omp_clause (loc, OMP_CLAUSE_SIMD);
158 OMP_ORDERED_CLAUSES (t) = clauses;
1726 /* This function splits clauses for OpenACC combined loop
1732 c_oacc_split_loop_clauses (tree clauses, tree *not_loop_clauses,
1738 for (; clauses ; clauses = next)
1740 next = OMP_CLAUSE_CHAIN (clauses);
1742 switch (OMP_CLAUSE_CODE (clauses))
1744 /* Loop clauses. */
1754 OMP_CLAUSE_CHAIN (clauses) = loop_clauses;
1755 loop_clauses = clauses;
1762 nc = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
1764 OMP_CLAUSE_DECL (nc) = OMP_CLAUSE_DECL (clauses);
1766 = OMP_CLAUSE_REDUCTION_CODE (clauses);
1771 OMP_CLAUSE_CHAIN (clauses) = loop_clauses;
1772 loop_clauses = clauses;
1775 /* Parallel/kernels clauses. */
1777 OMP_CLAUSE_CHAIN (clauses) = *not_loop_clauses;
1778 *not_loop_clauses = clauses;
1786 /* This function attempts to split or duplicate clauses for OpenMP
1792 and OMP_MASTER, which doesn't have any clauses at all).
1832 omp_clause_mask mask, tree clauses, tree *cclauses)
1860 for (; clauses ; clauses = next)
1862 next = OMP_CLAUSE_CHAIN (clauses);
1864 switch (OMP_CLAUSE_CODE (clauses))
1866 /* First the clauses that are unique to some constructs. */
1892 OMP_CLAUSE_SCHEDULE_SIMD (clauses) = 0;
1926 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
1929 = OMP_CLAUSE_COLLAPSE_EXPR (clauses);
1945 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
1948 = OMP_CLAUSE_COLLAPSE_EXPR (clauses);
1998 OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT (clauses) = 1;
1999 OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET (clauses) = 1;
2002 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2013 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2024 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2026 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2096 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2098 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2101 = OMP_CLAUSE_LASTPRIVATE_CONDITIONAL (clauses);
2126 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2128 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2130 = OMP_CLAUSE_LASTPRIVATE_CONDITIONAL (clauses);
2141 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2143 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2145 = OMP_CLAUSE_LASTPRIVATE_CONDITIONAL (clauses);
2151 /* Shared and default clauses are allowed on parallel, teams and
2161 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2162 OMP_CLAUSE_CODE (clauses));
2163 if (OMP_CLAUSE_CODE (clauses) == OMP_CLAUSE_SHARED)
2164 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2167 = OMP_CLAUSE_DEFAULT_KIND (clauses);
2183 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2184 OMP_CLAUSE_CODE (clauses));
2185 if (OMP_CLAUSE_CODE (clauses) == OMP_CLAUSE_SHARED)
2186 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2189 = OMP_CLAUSE_DEFAULT_KIND (clauses);
2195 /* order clauses are allowed on distribute, for, simd and loop. */
2205 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2208 = OMP_CLAUSE_ORDER_UNCONSTRAINED (clauses);
2210 = OMP_CLAUSE_ORDER_REPRODUCIBLE (clauses);
2218 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2221 = OMP_CLAUSE_ORDER_UNCONSTRAINED (clauses);
2223 = OMP_CLAUSE_ORDER_REPRODUCIBLE (clauses);
2242 if (OMP_CLAUSE_REDUCTION_TASK (clauses))
2246 error_at (OMP_CLAUSE_LOCATION (clauses),
2249 OMP_CLAUSE_REDUCTION_TASK (clauses) = 0;
2257 error_at (OMP_CLAUSE_LOCATION (clauses),
2261 OMP_CLAUSE_REDUCTION_TASK (clauses) = 0;
2264 if (OMP_CLAUSE_REDUCTION_INSCAN (clauses)
2270 error_at (OMP_CLAUSE_LOCATION (clauses),
2274 OMP_CLAUSE_REDUCTION_INSCAN (clauses) = 0;
2278 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2280 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2290 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2292 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2294 = OMP_CLAUSE_REDUCTION_CODE (clauses);
2296 = OMP_CLAUSE_REDUCTION_PLACEHOLDER (clauses);
2298 = OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER (clauses);
2300 = OMP_CLAUSE_REDUCTION_INSCAN (clauses);
2307 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2309 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2311 = OMP_CLAUSE_REDUCTION_CODE (clauses);
2313 = OMP_CLAUSE_REDUCTION_PLACEHOLDER (clauses);
2315 = OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER (clauses);
2317 = OMP_CLAUSE_REDUCTION_INSCAN (clauses);
2324 && !OMP_CLAUSE_REDUCTION_INSCAN (clauses))
2343 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2345 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2347 = OMP_CLAUSE_REDUCTION_CODE (clauses);
2349 = OMP_CLAUSE_REDUCTION_PLACEHOLDER (clauses);
2351 = OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER (clauses);
2353 = OMP_CLAUSE_REDUCTION_INSCAN (clauses);
2360 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2362 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2364 = OMP_CLAUSE_REDUCTION_CODE (clauses);
2366 = OMP_CLAUSE_REDUCTION_PLACEHOLDER (clauses);
2368 = OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER (clauses);
2370 = OMP_CLAUSE_REDUCTION_INSCAN (clauses);
2384 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2386 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2397 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2399 OMP_CLAUSE_DECL (c) = OMP_CLAUSE_DECL (clauses);
2401 = OMP_CLAUSE_REDUCTION_CODE (clauses);
2403 = OMP_CLAUSE_REDUCTION_PLACEHOLDER (clauses);
2405 = OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER (clauses);
2412 if (OMP_CLAUSE_IF_MODIFIER (clauses) != ERROR_MARK)
2415 switch (OMP_CLAUSE_IF_MODIFIER (clauses))
2466 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2469 = OMP_CLAUSE_IF_MODIFIER (clauses);
2470 OMP_CLAUSE_IF_EXPR (c) = OMP_CLAUSE_IF_EXPR (clauses);
2486 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2489 = OMP_CLAUSE_IF_MODIFIER (clauses);
2490 OMP_CLAUSE_IF_EXPR (c) = OMP_CLAUSE_IF_EXPR (clauses);
2504 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2507 = OMP_CLAUSE_IF_MODIFIER (clauses);
2508 OMP_CLAUSE_IF_EXPR (c) = OMP_CLAUSE_IF_EXPR (clauses);
2548 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2551 = OMP_CLAUSE_THREAD_LIMIT_EXPR (clauses);
2614 c = build_omp_clause (OMP_CLAUSE_LOCATION (clauses),
2617 = OMP_CLAUSE_DECL (clauses);
2619 = OMP_CLAUSE_ALLOCATE_ALLOCATOR (clauses);
2621 = OMP_CLAUSE_ALLOCATE_ALIGN (clauses);
2633 OMP_CLAUSE_CHAIN (clauses) = cclauses[s];
2634 cclauses[s] = clauses;
2697 /* Mark allocate clauses which don't have corresponding
2707 duplicated allocate clauses in sync. If it is marked in all
2709 them. Otherwise, remove all marked inner clauses inside
2784 /* qsort callback to compare #pragma omp declare simd clauses. */
2812 CLAUSES on FNDECL into argument indexes and sort them. */
2815 c_omp_declare_simd_clauses_to_numbers (tree parms, tree clauses)
2820 for (c = clauses; c; c = OMP_CLAUSE_CHAIN (c))
2864 clauses = clvec[0];
2869 clauses = NULL_TREE;
2871 return clauses;
2874 /* Change argument indexes in CLAUSES of FNDECL back to PARM_DECLs. */
2877 c_omp_declare_simd_clauses_to_decls (tree fndecl, tree clauses)
2881 for (c = clauses; c; c = OMP_CLAUSE_CHAIN (c))
2910 shared/firstprivate clauses). */
3010 /* Adjust map clauses after normal clause parsing, mainly to turn specific
3013 c_omp_adjust_map_clauses (tree clauses, bool is_target)
3020 for (tree c = clauses; c; c = OMP_CLAUSE_CHAIN (c))
3035 for (tree c = clauses; c; c = OMP_CLAUSE_CHAIN (c))
3045 Here we iterate through all map clauses collecting these cases,