================ @@ -747,105 +747,79 @@ void clang::getOpenMPCaptureRegions( assert(unsigned(DKind) < llvm::omp::Directive_enumSize); assert(isOpenMPCapturingDirective(DKind) && "Expecting capturing directive"); - switch (DKind) { - case OMPD_metadirective: - CaptureRegions.push_back(OMPD_metadirective); - break; - case OMPD_parallel: - case OMPD_parallel_for: - case OMPD_parallel_for_simd: - case OMPD_parallel_master: - case OMPD_parallel_masked: - case OMPD_parallel_sections: - case OMPD_distribute_parallel_for: - case OMPD_distribute_parallel_for_simd: - case OMPD_parallel_loop: - CaptureRegions.push_back(OMPD_parallel); - break; - case OMPD_target_teams: - case OMPD_target_teams_distribute: - case OMPD_target_teams_distribute_simd: - CaptureRegions.push_back(OMPD_task); - CaptureRegions.push_back(OMPD_target); - CaptureRegions.push_back(OMPD_teams); - break; - case OMPD_teams: - case OMPD_teams_distribute: - case OMPD_teams_distribute_simd: - CaptureRegions.push_back(OMPD_teams); - break; - case OMPD_target: - case OMPD_target_simd: - CaptureRegions.push_back(OMPD_task); - CaptureRegions.push_back(OMPD_target); - break; - case OMPD_teams_loop: - case OMPD_teams_distribute_parallel_for: - case OMPD_teams_distribute_parallel_for_simd: - CaptureRegions.push_back(OMPD_teams); - CaptureRegions.push_back(OMPD_parallel); - break; - case OMPD_target_parallel: - case OMPD_target_parallel_for: - case OMPD_target_parallel_for_simd: - case OMPD_target_parallel_loop: - CaptureRegions.push_back(OMPD_task); - CaptureRegions.push_back(OMPD_target); - CaptureRegions.push_back(OMPD_parallel); - break; - case OMPD_task: - case OMPD_target_enter_data: - case OMPD_target_exit_data: - case OMPD_target_update: - CaptureRegions.push_back(OMPD_task); - break; - case OMPD_taskloop: - case OMPD_taskloop_simd: - case OMPD_master_taskloop: - case OMPD_master_taskloop_simd: - case OMPD_masked_taskloop: - case OMPD_masked_taskloop_simd: - CaptureRegions.push_back(OMPD_taskloop); - break; - case OMPD_parallel_masked_taskloop: - case OMPD_parallel_masked_taskloop_simd: - case OMPD_parallel_master_taskloop: - case OMPD_parallel_master_taskloop_simd: - CaptureRegions.push_back(OMPD_parallel); - CaptureRegions.push_back(OMPD_taskloop); - break; - case OMPD_target_teams_loop: - case OMPD_target_teams_distribute_parallel_for: - case OMPD_target_teams_distribute_parallel_for_simd: - CaptureRegions.push_back(OMPD_task); - CaptureRegions.push_back(OMPD_target); - CaptureRegions.push_back(OMPD_teams); - CaptureRegions.push_back(OMPD_parallel); - break; - case OMPD_nothing: - CaptureRegions.push_back(OMPD_nothing); - break; - case OMPD_loop: - // TODO: 'loop' may require different capture regions depending on the bind - // clause or the parent directive when there is no bind clause. Use - // OMPD_unknown for now. - case OMPD_simd: - case OMPD_for: - case OMPD_for_simd: - case OMPD_sections: - case OMPD_single: - case OMPD_taskgroup: - case OMPD_distribute: - case OMPD_ordered: - case OMPD_target_data: - case OMPD_distribute_simd: - case OMPD_scope: - case OMPD_dispatch: + auto getRegionsForLeaf = [&](OpenMPDirectiveKind LKind) { ---------------- kparzysz wrote:
Done https://github.com/llvm/llvm-project/pull/97110 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits