[Mlir-commits] [mlir] [MLIR][OpenMP] Simplify OpenMP to LLVM dialect conversion (PR #132009)
Sergio Afonso
llvmlistbot at llvm.org
Thu Mar 20 04:15:08 PDT 2025
================
@@ -295,36 +134,42 @@ void mlir::populateOpenMPToLLVMConversionPatterns(LLVMTypeConverter &converter,
[&](omp::MapBoundsType type) -> Type { return type; });
patterns.add<
- AtomicReadOpConversion, DeclMapperOpConversion, MapInfoOpConversion,
- MultiRegionOpConversion<omp::DeclareReductionOp>,
- MultiRegionOpConversion<omp::PrivateClauseOp>,
- RegionLessOpConversion<omp::CancellationPointOp>,
- RegionLessOpConversion<omp::CancelOp>,
- RegionLessOpConversion<omp::CriticalDeclareOp>,
- RegionLessOpConversion<omp::DeclareMapperInfoOp>,
- RegionLessOpConversion<omp::OrderedOp>,
- RegionLessOpConversion<omp::ScanOp>,
- RegionLessOpConversion<omp::TargetEnterDataOp>,
- RegionLessOpConversion<omp::TargetExitDataOp>,
- RegionLessOpConversion<omp::TargetUpdateOp>,
- RegionLessOpConversion<omp::YieldOp>,
- RegionLessOpWithVarOperandsConversion<omp::AtomicWriteOp>,
- RegionLessOpWithVarOperandsConversion<omp::FlushOp>,
- RegionLessOpWithVarOperandsConversion<omp::MapBoundsOp>,
- RegionLessOpWithVarOperandsConversion<omp::ThreadprivateOp>,
- RegionOpConversion<omp::AtomicCaptureOp>,
- RegionOpConversion<omp::CriticalOp>,
- RegionOpConversion<omp::DistributeOp>,
- RegionOpConversion<omp::LoopNestOp>, RegionOpConversion<omp::LoopOp>,
- RegionOpConversion<omp::MaskedOp>, RegionOpConversion<omp::MasterOp>,
- RegionOpConversion<omp::OrderedRegionOp>,
- RegionOpConversion<omp::ParallelOp>, RegionOpConversion<omp::SectionOp>,
- RegionOpConversion<omp::SectionsOp>, RegionOpConversion<omp::SimdOp>,
- RegionOpConversion<omp::SingleOp>, RegionOpConversion<omp::TargetDataOp>,
- RegionOpConversion<omp::TargetOp>, RegionOpConversion<omp::TaskgroupOp>,
- RegionOpConversion<omp::TaskloopOp>, RegionOpConversion<omp::TaskOp>,
- RegionOpConversion<omp::TeamsOp>, RegionOpConversion<omp::WsloopOp>,
- RegionOpWithVarOperandsConversion<omp::AtomicUpdateOp>>(converter);
+ OpenMPOpConversion<omp::AtomicCaptureOp>,
+ OpenMPOpConversion<omp::AtomicReadOp>,
+ OpenMPOpConversion<omp::AtomicUpdateOp, /*SupportsMemRefOperand=*/false>,
----------------
skatrak wrote:
Thank you for the suggestion, with that change I was able to also remove the need to manually list operations, so that's one less thing to remember adding when we create new ops.
https://github.com/llvm/llvm-project/pull/132009
More information about the Mlir-commits
mailing list