Hi Tom, this patch provides a 'bool independent' field in struct loop, which will be switched on by an "independent" clause in a #pragma acc loop directive. I assume you'll be wiring it to the kernels parloops pass in a followup patch. Note: there are already a few other similar fields in struct loop, namely 'safelen' and 'can_be_parallel', used by OMP simd safelen and GRAPHITE respectively. The intention and/or setting of these fields are all a bit different, so I've decided to add a new bool for OpenACC. Tested and committed to gomp-4_0-branch. Chung-Lin 2015-07-14 Chung-Lin Tang * cfgloop.h (struct loop): Add 'bool marked_independent' field. * gimplify.c (gimplify_scan_omp_clauses): Keep OMP_CLAUSE_INDEPENDENT. * omp-low.c (struct omp_region): Add 'int kind' and 'bool independent' fields. (expand_omp_for): Set 'marked_independent' field for loop corresponding to region. (find_omp_for_region_data): New function. (find_omp_target_region_data): Set kind field. (build_omp_regions_1): Call find_omp_for_region_data() for GIMPLE_OMP_FOR statements.