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
Use the new firstprivate representation on the comupte construct.
Reviewed By: razvanlupusoru, jeanPerier
Differential Revision: https://reviews.llvm.org/D151975
OpenACC 3.3 introduces a dim argument on the gang clause. This patch
adds a new operand for it on the acc.loop and update the custom
gang clause parser/printer for it.
Depends on D151970
Reviewed By: razvanlupusoru, jeanPerier
Differential Revision: https://reviews.llvm.org/D151971
This patch adds parser support for the force modifier on the collapse clause
introduced in OpenACC 3.3.
Lowering will currently hit a TODO as the MLIR representation of the acc.loop
might need some update.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D151974
Parallel and serial constructs support reduction clause. Extend
recent D151564 loop reduction clause support to also include these
compute constructs.
Reviewed By: clementval, vzakhari
Differential Revision: https://reviews.llvm.org/D151955
Add support for the * operation in OpenACC lowering. Support is added
for the types currently supported.
Depends on D151564
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D151565
Add initial support to lower reduction clause to its representation in MLIR.
This patch adds support for addition of integer and real scalar types. Other
operators and types will be added with follow up patches.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D151564
Now that operands have moved to the new data operands lowering, this
function is not used anymore.
Reviewed By: vzakhari
Differential Revision: https://reviews.llvm.org/D151357
Simply make the creation of acc.private.recipe accesible through an API.
This will be useful when we will implement passes like the implicit
privatization.
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D151230
Update acc.loop private operands list to use the new design
introduced in D150622.
Depends on D150975
Reviewed By: razvanlupusoru
Differential Revision: https://reviews.llvm.org/D150984
This patch adds the initial infrastructure to lower the private clause to the
new design introduced in D150622. The init region is not implemented yet
and currently only yield the input argument (semantic is then similar with the previous
design currently). Implementation will come in a follow up patch to keep patch.
This patch also re-enable test commented out for `acc serial`, `acc serial loop`,
`acc parallel` and `acc parallel loop` with private clause.
Depends on D150972, D150973
Reviewed By: razvanlupusoru, jeanPerier
Differential Revision: https://reviews.llvm.org/D150975
Remove old clause operands from acc.kernels operation since
the new dataOperands is now in place.
private and firstprivate will receive some redesign but are
not part of the new dataOperands.
Depends on D150224
Reviewed By: vzakhari
Differential Revision: https://reviews.llvm.org/D150225
Remove old clause operands from acc.serial operation since
the new dataOperands is now in place.
private and firstprivate will receive some redesign but are
not part of the new dataOperands.
Depends on D150207
Reviewed By: vzakhari
Differential Revision: https://reviews.llvm.org/D150224
The order of operand in clauses that are decomposed was not
preserved. This patch change how operands are handled and preserve
the user ordering for the entry data operation on the acc.parallel
operation.
Reviewed By: vzakhari
Differential Revision: https://reviews.llvm.org/D150214