summaryrefslogtreecommitdiff
path: root/clang/test/OpenMP/generic_loop_codegen.cpp
AgeCommit message (Collapse)Author
2024-07-23[clang][OpenMP] Move "loop" directive mapping from sema to codegen (#99905)Krzysztof Parzyszek
Given "loop" construct, clang will try to treat it as "for", "distribute" or "simd", depending on either the implied binding, or the bind clause if present. This patch moves the code that performs this construct remapping from sema to codegen. For a "loop" construct without a bind clause, this patch will create an implicit bind clause based on implied binding to simplify further analysis. During codegen the function `EmitOMPGenericLoopDirective` (i.e. "loop") will invoke the "emit" functions for "for", "distribute" or "simd", depending on the bind clause. --------- Co-authored-by: Alexey Bataev <a.bataev@gmx.com>
2023-08-23[OpenMP][NFC] Update clang OpenMP testsJohannes Doerfert
Just re-running the script to make future updates easier
2023-08-09[Clang][OpenMP] Support for Code Generation of loop bind clauseChi Chun Chen
Support for Code Generation of "#pragma loop bind" clause. 1) bind(parallel) 2) bind(teams) 3) bind(thread) Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D144634
2023-08-08Revert "[Clang][OpenMP] Support for Code Generation of loop bind clause."Nico Weber
This reverts commit 8e7f0320ad7fb760fff598aba4b2c86528c58c2d. As requested on https://reviews.llvm.org/rG8e7f0320ad7fb760f#1236457
2023-08-08[Clang][OpenMP] Support for Code Generation of loop bind clause.Sunil Kuravinakop
2023-08-07Revert "[Clang][OpenMP] Support for Code Generation of loop bind clause"Nico Weber
This reverts commit 4097a24584121dba562d471fab97d3dfec1b5bff. Breaks tests on macOS, see https://reviews.llvm.org/rG4097a2458412#1235854
2023-08-07[Clang][OpenMP] Support for Code Generation of loop bind clauseSunil Kuravinakop
2023-07-05[OpenMP][CodeGen] Add codegen for combined 'loop' directives.Dave Pagan
The loop directive is a descriptive construct which allows the compiler flexibility in how it generates code for the directive's associated loop(s). See OpenMP specification 5.2 [257:8-9]. Codegen added in this patch for the combined 'loop' directives are: 'target teams loop' -> 'target teams distribute parallel for' 'teams loop' -> 'teams distribute parallel for' 'target parallel loop' -> 'target parallel for' 'parallel loop' -> 'parallel for' NOTE: The implementation of the 'loop' directive itself is unchanged. Differential Revision: https://reviews.llvm.org/D145823