Skip to content

Commit de72243

Browse files
[openmp][mlir] Parallel reduction LLVM IR generation
This patch extends the existing WsLoop reduction IR generation to parallel blocks. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D155157
1 parent e18672a commit de72243

File tree

3 files changed

+386
-109
lines changed

3 files changed

+386
-109
lines changed

mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,10 @@ def ParallelOp : OpenMP_Op<"parallel", [
188188
let builders = [
189189
OpBuilder<(ins CArg<"ArrayRef<NamedAttribute>", "{}">:$attributes)>
190190
];
191+
let extraClassDeclaration = [{
192+
/// Returns the number of reduction variables.
193+
unsigned getNumReductionVars() { return getReductionVars().size(); }
194+
}];
191195
let assemblyFormat = [{
192196
oilist( `reduction` `(`
193197
custom<ReductionVarList>(

0 commit comments

Comments
 (0)