#
ea64e66f |
| 01-Nov-2022 |
Jennifer Yu <jennifer.yu@intel.com> |
[OPENMP]Initial support for error directive.
Differential Revision: https://reviews.llvm.org/D137209
|
#
e8c78d85 |
| 23-Sep-2022 |
Anders Langlands <anderslangands@gmail.com> |
Allow getting template args for ClassTemplateSpecializations
Modifies clang_Cursor_getNumTemplateArguments() and friends to work on Struct, Class and ClassTemplatePartialSpecialization decls as well
Allow getting template args for ClassTemplateSpecializations
Modifies clang_Cursor_getNumTemplateArguments() and friends to work on Struct, Class and ClassTemplatePartialSpecialization decls as well as functions.
Differential Revision: https://reviews.llvm.org/D134416
show more ...
|
Revision tags: llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
38bcd483 |
| 01-Jul-2022 |
Fazlay Rabbi <fazlay.rabbi@intel.com> |
[OpenMP] Initial parsing and semantic support for 'parallel masked taskloop simd' construct
This patch gives basic parsing and semantic support for "parallel masked taskloop simd" construct introduc
[OpenMP] Initial parsing and semantic support for 'parallel masked taskloop simd' construct
This patch gives basic parsing and semantic support for "parallel masked taskloop simd" construct introduced in OpenMP 5.1 (section 2.16.10)
Differential Revision: https://reviews.llvm.org/D128946
show more ...
|
#
d64ba896 |
| 30-Jun-2022 |
Fazlay Rabbi <fazlay.rabbi@intel.com> |
[OpenMP] Initial parsing and sema support for 'parallel masked taskloop' construct
This patch gives basic parsing and semantic support for "parallel masked taskloop" construct introduced in OpenMP 5
[OpenMP] Initial parsing and sema support for 'parallel masked taskloop' construct
This patch gives basic parsing and semantic support for "parallel masked taskloop" construct introduced in OpenMP 5.1 (section 2.16.9)
Differential Revision: https://reviews.llvm.org/D128834
show more ...
|
#
73e5d7bd |
| 28-Jun-2022 |
Fazlay Rabbi <fazlay.rabbi@intel.com> |
[OpenMP] Initial parsing and sema support for 'masked taskloop simd' construct
This patch gives basic parsing and semantic support for "masked taskloop simd" construct introduced in OpenMP 5.1 (sect
[OpenMP] Initial parsing and sema support for 'masked taskloop simd' construct
This patch gives basic parsing and semantic support for "masked taskloop simd" construct introduced in OpenMP 5.1 (section 2.16.8)
Differential Revision: https://reviews.llvm.org/D128693
show more ...
|
#
42bb88e2 |
| 24-Jun-2022 |
Fazlay Rabbi <fazlay.rabbi@intel.com> |
[OpenMP] Initial parsing and sema support for 'masked taskloop' construct
This patch gives basic parsing and semantic support for "masked taskloop" construct introduced in OpenMP 5.1 (section 2.16.7
[OpenMP] Initial parsing and sema support for 'masked taskloop' construct
This patch gives basic parsing and semantic support for "masked taskloop" construct introduced in OpenMP 5.1 (section 2.16.7)
Differential Revision: https://reviews.llvm.org/D128478
show more ...
|
Revision tags: llvmorg-14.0.6 |
|
#
bb83f8e7 |
| 16-Jun-2022 |
Jennifer Yu <jennifer.yu@intel.com> |
[OpenMP] Initial parsing and sema for 'parallel masked' construct
Differential Revision: https://reviews.llvm.org/D127454
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4 |
|
#
ee852408 |
| 19-May-2022 |
Alex Lorenz <arphaman@gmail.com> |
[libclang] add supporting for indexing/visiting C++ concepts
This commit builds upon recently added indexing support for C++ concepts from https://reviews.llvm.org/D124441 by extending libclang to s
[libclang] add supporting for indexing/visiting C++ concepts
This commit builds upon recently added indexing support for C++ concepts from https://reviews.llvm.org/D124441 by extending libclang to support indexing and visiting concepts, constraints and requires expressions as well.
Differential Revision: https://reviews.llvm.org/D126031
show more ...
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
#
f82ec553 |
| 23-Mar-2022 |
Mike Rice <michael.p.rice@intel.com> |
[OpenMP] Initial parsing/sema for the 'omp target parallel loop' construct
Adds basic parsing/sema/serialization support for the #pragma omp target parallel loop directive.
Differential Revision:
[OpenMP] Initial parsing/sema for the 'omp target parallel loop' construct
Adds basic parsing/sema/serialization support for the #pragma omp target parallel loop directive.
Differential Revision: https://reviews.llvm.org/D122359
show more ...
|
#
2cedaee6 |
| 22-Mar-2022 |
Mike Rice <michael.p.rice@intel.com> |
[OpenMP] Initial parsing/sema for the 'omp parallel loop' construct
Adds basic parsing/sema/serialization support for the #pragma omp parallel loop directive.
Differential Revision: https://re
[OpenMP] Initial parsing/sema for the 'omp parallel loop' construct
Adds basic parsing/sema/serialization support for the #pragma omp parallel loop directive.
Differential Revision: https://reviews.llvm.org/D122247
show more ...
|
#
6bd8dc91 |
| 18-Mar-2022 |
Mike Rice <michael.p.rice@intel.com> |
[OpenMP] Initial parsing/sema for the 'omp target teams loop' construct
Adds basic parsing/sema/serialization support for the #pragma omp target teams loop directive.
Differential Revision: https
[OpenMP] Initial parsing/sema for the 'omp target teams loop' construct
Adds basic parsing/sema/serialization support for the #pragma omp target teams loop directive.
Differential Revision: https://reviews.llvm.org/D122028
show more ...
|
#
79f661ed |
| 15-Mar-2022 |
Mike Rice <michael.p.rice@intel.com> |
[OpenMP] Initial parsing/sema for the 'omp teams loop' construct
Adds basic parsing/sema/serialization support for the #pragma omp teams loop directive.
Differential Revision: https://reviews.llvm.
[OpenMP] Initial parsing/sema for the 'omp teams loop' construct
Adds basic parsing/sema/serialization support for the #pragma omp teams loop directive.
Differential Revision: https://reviews.llvm.org/D121713
show more ...
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
#
d0ac215d |
| 14-Nov-2021 |
Kazu Hirata <kazu@google.com> |
[clang] Use isa instead of dyn_cast (NFC)
|
#
6f9c2516 |
| 28-Oct-2021 |
Mike Rice <michael.p.rice@intel.com> |
[OpenMP] Initial parsing/sema for the 'omp loop' construct
Adds basic parsing/sema/serialization support for the #pragma omp loop directive.
Differential Revision: https://reviews.llvm.org/D112499
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4 |
|
#
000875c1 |
| 17-Sep-2021 |
alokmishra.besu <> |
OpenMP 5.0 metadirective
This patch supports OpenMP 5.0 metadirective features. It is implemented keeping the OpenMP 5.1 features like dynamic user condition in mind.
A new function, getBestWhenMat
OpenMP 5.0 metadirective
This patch supports OpenMP 5.0 metadirective features. It is implemented keeping the OpenMP 5.1 features like dynamic user condition in mind.
A new function, getBestWhenMatchForContext, is defined in llvm/Frontend/OpenMP/OMPContext.h
Currently this function return the index of the when clause with the highest score from the ones applicable in the Context. But this function is declared with an array which can be used in OpenMP 5.1 implementation to select all the valid when clauses which can be resolved in runtime. Currently this array is set to null by default and its implementation is left for future.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D91944
show more ...
|
#
31cca215 |
| 18-Sep-2021 |
Nico Weber <thakis@chromium.org> |
Revert "OpenMP 5.0 metadirective"
This reverts commit c7d7b98e5263472f05b2f3cb767b5d16e1349e9a. Breaks tests on macOS, see comment on https://reviews.llvm.org/D91944
|
#
347f3c18 |
| 17-Sep-2021 |
alokmishra.besu <> |
OpenMP 5.0 metadirective
This patch supports OpenMP 5.0 metadirective features. It is implemented keeping the OpenMP 5.1 features like dynamic user condition in mind.
A new function, getBestWhenMat
OpenMP 5.0 metadirective
This patch supports OpenMP 5.0 metadirective features. It is implemented keeping the OpenMP 5.1 features like dynamic user condition in mind.
A new function, getBestWhenMatchForContext, is defined in llvm/Frontend/OpenMP/OMPContext.h
Currently this function return the index of the when clause with the highest score from the ones applicable in the Context. But this function is declared with an array which can be used in OpenMP 5.1 implementation to select all the valid when clauses which can be resolved in runtime. Currently this array is set to null by default and its implementation is left for future.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D91944
show more ...
|
#
7efb8253 |
| 17-Sep-2021 |
cchen <chichun.chen@hpe.com> |
Revert "OpenMP 5.0 metadirective"
This reverts commit c7d7b98e5263472f05b2f3cb767b5d16e1349e9a.
|
#
c7d7b98e |
| 17-Sep-2021 |
cchen <chichun.chen@hpe.com> |
OpenMP 5.0 metadirective
This patch supports OpenMP 5.0 metadirective features. It is implemented keeping the OpenMP 5.1 features like dynamic user condition in mind.
A new function, getBestWhenMat
OpenMP 5.0 metadirective
This patch supports OpenMP 5.0 metadirective features. It is implemented keeping the OpenMP 5.1 features like dynamic user condition in mind.
A new function, getBestWhenMatchForContext, is defined in llvm/Frontend/OpenMP/OMPContext.h
Currently this function return the index of the when clause with the highest score from the ones applicable in the Context. But this function is declared with an array which can be used in OpenMP 5.1 implementation to select all the valid when clauses which can be resolved in runtime. Currently this array is set to null by default and its implementation is left for future.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D91944
show more ...
|
Revision tags: llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
#
a2223612 |
| 10-Jun-2021 |
Michael Kruse <llvm-project@meinersbur.de> |
[OpenMP] Implement '#pragma omp unroll'.
Implementation of the unroll directive introduced in OpenMP 5.1. Follows the approach from D76342 for the tile directive (i.e. AST-based, not using the OpenM
[OpenMP] Implement '#pragma omp unroll'.
Implementation of the unroll directive introduced in OpenMP 5.1. Follows the approach from D76342 for the tile directive (i.e. AST-based, not using the OpenMPIRBuilder). Tries to use `llvm.loop.unroll.*` metadata where possible, but has to fall back to an AST representation of the outer loop if the partially unrolled generated loop is associated with another directive (because it needs to compute the number of iterations).
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D99459
show more ...
|
Revision tags: llvmorg-12.0.1-rc1 |
|
#
eba69b59 |
| 23-Apr-2021 |
Erich Keane <erich.keane@intel.com> |
Reimplement __builtin_unique_stable_name-
The original version of this was reverted, and @rjmcall provided some advice to architect a new solution. This is that solution.
This implements a builtin
Reimplement __builtin_unique_stable_name-
The original version of this was reverted, and @rjmcall provided some advice to architect a new solution. This is that solution.
This implements a builtin to provide a unique name that is stable across compilations of this TU for the purposes of implementing the library component of the unnamed kernel feature of SYCL. It does this by running the Itanium mangler with a few modifications.
Because it is somewhat common to wrap non-kernel-related lambdas in macros that aren't present on the device (such as for logging), this uniquely generates an ID for all lambdas involved in the naming of a kernel. It uses the lambda-mangling number to do this, except replaces this with its own number (starting at 10000 for readabililty reasons) for lambdas used to name a kernel.
Additionally, this implements itself as constexpr with a slight catch: if a name would be invalidated by the use of this lambda in a later kernel invocation, it is diagnosed as an error (see the Sema tests).
Differential Revision: https://reviews.llvm.org/D103112
show more ...
|
#
1a43fd27 |
| 09-Apr-2021 |
cchen <chichunchen844@gmail.com> |
[OpenMP51] Initial support for masked directive and filter clause
Adds basic parsing/sema/serialization support for the #pragma omp masked directive.
Reviewed By: ABataev
Differential Revision: ht
[OpenMP51] Initial support for masked directive and filter clause
Adds basic parsing/sema/serialization support for the #pragma omp masked directive.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D99995
show more ...
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
#
b7899ba0 |
| 23-Mar-2021 |
Mike Rice <michael.p.rice@intel.com> |
[OPENMP51]Initial support for the dispatch directive.
Added basic parsing/sema/serialization support for dispatch directive.
Differential Revision: https://reviews.llvm.org/D99537
|
#
410f09af |
| 15-Mar-2021 |
Mike Rice <michael.p.rice@intel.com> |
[OPENMP51]Initial support for the interop directive.
Added basic parsing/sema/serialization support for interop directive. Support for the 'init' clause.
Differential Revision: https://reviews.llvm
[OPENMP51]Initial support for the interop directive.
Added basic parsing/sema/serialization support for interop directive. Support for the 'init' clause.
Differential Revision: https://reviews.llvm.org/D98558
show more ...
|
Revision tags: llvmorg-12.0.0-rc3 |
|
#
b1191206 |
| 03-Mar-2021 |
Michael Kruse <llvm-project@meinersbur.de> |
[clang][OpenMP] Use OpenMPIRBuilder for workshare loops.
Initial support for using the OpenMPIRBuilder by clang to generate loops using the OpenMPIRBuilder. This initial support is intentionally lim
[clang][OpenMP] Use OpenMPIRBuilder for workshare loops.
Initial support for using the OpenMPIRBuilder by clang to generate loops using the OpenMPIRBuilder. This initial support is intentionally limited to: * Only the worksharing-loop directive. * Recognizes only the nowait clause. * No loop nests with more than one loop. * Untested with templates, exceptions. * Semantic checking left to the existing infrastructure.
This patch introduces a new AST node, OMPCanonicalLoop, which becomes parent of any loop that has to adheres to the restrictions as specified by the OpenMP standard. These restrictions allow OMPCanonicalLoop to provide the following additional information that depends on base language semantics: * The distance function: How many loop iterations there will be before entering the loop nest. * The loop variable function: Conversion from a logical iteration number to the loop variable.
These allow the OpenMPIRBuilder to act solely using logical iteration numbers without needing to be concerned with iterator semantics between calling the distance function and determining what the value of the loop variable ought to be. Any OpenMP logical should be done by the OpenMPIRBuilder such that it can be reused MLIR OpenMP dialect and thus by flang.
The distance and loop variable function are implemented using lambdas (or more exactly: CapturedStmt because lambda implementation is more interviewed with the parser). It is up to the OpenMPIRBuilder how they are called which depends on what is done with the loop. By default, these are emitted as outlined functions but we might think about emitting them inline as the OpenMPRuntime does.
For compatibility with the current OpenMP implementation, even though not necessary for the OpenMPIRBuilder, OMPCanonicalLoop can still be nested within OMPLoopDirectives' CapturedStmt. Although OMPCanonicalLoop's are not currently generated when the OpenMPIRBuilder is not enabled, these can just be skipped when not using the OpenMPIRBuilder in case we don't want to make the AST dependent on the EnableOMPBuilder setting.
Loop nests with more than one loop require support by the OpenMPIRBuilder (D93268). A simple implementation of non-rectangular loop nests would add another lambda function that returns whether a loop iteration of the rectangular overapproximation is also within its non-rectangular subset.
Reviewed By: jdenny
Differential Revision: https://reviews.llvm.org/D94973
show more ...
|