Fix the value of the structured attribute for entry operation in the
global constructor noted in D156353.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D156481
This patch adds support to lower the link clause on OpenACC
declare construct in module declaration.
Depends on D156463
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D156464
This patch adds support to lower the device_resident clause on OpenACC
declare construct in module declaration.
Depends on D156457
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D156463
This patch adds support to lower the copyin clause on OpenACC
declare construct in module declaration.
Depends on D156353
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D156457
Add the acc.global_dtor when lowering the OpenACC declare
construct.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D156353
This patch adds the skeleton and the basic lowering for OpenACC declare
construct when located in the module declaration. This patch just lower the
create clause with or without modifier. Other clause and global descrutor
lowering will come in follow up patches to keep this one small enough for
review.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D156266
Keep the original array size when materializing the private copy.
Depends on D155882
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D155893
Update the code generated in the init region to materialize the private
copy.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D155882
Add test for simple scalar allocatable or pointer. Set up the TODO
to be triggered when the allocatable or pointer are arrays.
Support for pointer/allocatable arrays will come next.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D155230
Lowering for reduction with dynamic shaped arrays is not implemented yet.
Add a proper TODO for the time being.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D155324
The extent information is available here so just add it to the acc.bounds
operation so it can be retrieved easily if needed.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D155319
Add support to lower reduction with the multiply operator and
complex type.
Depends on D155007
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D155014
Add lowering support for reduction with the add operator
on complex type.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D155007
Add support for the `.neqv.` reduction operator for
Flang/OpenACC lowering.
Depends on D154900
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154901
Add support for the `.eqv.` reduction operator for
Flang/OpenACC lowering.
Depends on D154898
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154900
Add support for the `.or.` reduction operator for
Flang/OpenACC lowering.
Depends on D154896
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154898
Add support for the `.and.` reduction operator
in Flang/OpenACC lowering.
Depends on D154888
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154896
The return type of the recipe must match the array slice provided by
the user. This patch enhance the recipe creation to take into account
the constant slices.
Depends on D154657
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154727
Similiar to D154259 for private recipe, this patch makes use of the same code
for the init region of the firstprivate recipe and populate the copy region for
trivial types and arrays.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154657
reduction operator min and max are not supported with complex type.
Add a proper error so it fails correctly.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D155016
Add support for `ieor` reduction operator in
OpenACC lowering.
Depends on D154887
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154888
Add support for `ior` reduction operator in
OpenACC lowering.
Depends on D154886
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154887
The return type of the recipe must match the array slice provided by
the user. This patch enhance the recipe creation to take into account
the constant slices.
Depends on D154259
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154648
Lowering of the default clause was missing on the acc.data operation. This
patch lowers the default clause to its corresponding attribute.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154162
Lower async and wait clauses to the correponding
attributes and operands on the acc.data operation.
Depends on D154131
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154155
OpenACC 3.2 allowed the wait clause to the data construct. This patch
adds a unit attribute and a variadic operand to the data operation to model
the wait clause in a similar way it was added to other data operation.
The attribute models the presence of the clause without any argument. When
arguments are provided they are placed in the wait operand.
Depends on D154111
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154131
OpenACC 3.2 allowed the async clause to the data construct. This patch
adds a unit attribute and an optional operand to the data operation to model
the data clause in a similar way it was added to other data operation.
The attribute models the presence of the clause without any argument. When
an argument is provided it is placed in the async operand.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D154111
Update num_gangs definition in ACC.td and its lowering
to support up to 3 arguments.
Depends on D153796
Depends on D153801
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D153806
Add loweirng support for array reduction with the
max operator. Simplify generation of init value.
Depends on D153661
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D153663
Add loweirng support for array reduction with the
min operator.
Depends on D153650
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D153661
acc.reduction operation is used as data entry operation for the reduction
operands.
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D153367
Lower multi-dimensional arrays reduction for add and mul operator.
Depends on D153448
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D153455
Lower 1d array reduction for add and mul operator. Multi-dimensional arrays and
other operator will follow.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D153448
Lower private and firstprivate operands through their corresponding
data entry operation to support array section.
Depends on D152972
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D152974
Add support for the max operator in the reduction
clause.
Depdns on D151671
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D151672
Add lowering support for the min operator
in reduction clause.
Depends on D151565
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D151671
Lower gang dim from the parse tree to the new MLIR
representation.
Depends on D151972
Reviewed By: razvanlupusoru, jeanPerier
Differential Revision: https://reviews.llvm.org/D151973
genObjectList is not used anymore. Just remove it.
Depends on D151975
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D151976
Add parsing supprot for dim in gang clause
Depends on D151971
Reviewed By: razvanlupusoru, jeanPerier
Differential Revision: https://reviews.llvm.org/D151972