[flang-commits] [flang] 49df12c - [mlir][NFC] Minor cleanup around `ModuleOp` usage (#110498)
via flang-commits
flang-commits at lists.llvm.org
Mon Sep 30 12:20:58 PDT 2024
Author: Matthias Springer
Date: 2024-09-30T21:20:48+02:00
New Revision: 49df12c01e99af6e091fedc123f775580064740a
URL: https://github.com/llvm/llvm-project/commit/49df12c01e99af6e091fedc123f775580064740a
DIFF: https://github.com/llvm/llvm-project/commit/49df12c01e99af6e091fedc123f775580064740a.diff
LOG: [mlir][NFC] Minor cleanup around `ModuleOp` usage (#110498)
Use `moduleOp.getBody()` instead of `moduleOp.getBodyRegion().front()`.
Added:
Modified:
flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp
mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
Removed:
################################################################################
diff --git a/flang/lib/Lower/OpenMP/DataSharingProcessor.cpp b/flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
index 5f4138e0f63e73..23a171c6576389 100644
--- a/flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
+++ b/flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
@@ -478,8 +478,7 @@ void DataSharingProcessor::doPrivatize(const semantics::Symbol *sym,
return existingPrivatizer;
mlir::OpBuilder::InsertionGuard guard(firOpBuilder);
- firOpBuilder.setInsertionPoint(&moduleOp.getBodyRegion().front(),
- moduleOp.getBodyRegion().front().begin());
+ firOpBuilder.setInsertionPointToStart(moduleOp.getBody());
auto result = firOpBuilder.create<mlir::omp::PrivateClauseOp>(
symLoc, uniquePrivatizerName, symType,
isFirstPrivate ? mlir::omp::DataSharingClauseType::FirstPrivate
diff --git a/mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp b/mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
index f9903071be0842..06aedc5e139d37 100644
--- a/mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
+++ b/mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
@@ -134,8 +134,7 @@ struct BufferizationToMemRefPass
bufferization::DeallocHelperMap deallocHelperFuncMap;
if (auto module = dyn_cast<ModuleOp>(getOperation())) {
- OpBuilder builder =
- OpBuilder::atBlockBegin(&module.getBodyRegion().front());
+ OpBuilder builder = OpBuilder::atBlockBegin(module.getBody());
// Build dealloc helper function if there are deallocs.
getOperation()->walk([&](bufferization::DeallocOp deallocOp) {
diff --git a/mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp b/mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
index 5b590a457f7714..40558a0822441e 100644
--- a/mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
+++ b/mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
@@ -642,11 +642,10 @@ static IntegerAttr wrapNumericMemorySpace(MLIRContext *ctx, unsigned space) {
/// Generates a symbol with 0-sized array type for dynamic shared memory usage,
/// or uses existing symbol.
-LLVM::GlobalOp
-getDynamicSharedMemorySymbol(ConversionPatternRewriter &rewriter,
- Operation *moduleOp, gpu::DynamicSharedMemoryOp op,
- const LLVMTypeConverter *typeConverter,
- MemRefType memrefType, unsigned alignmentBit) {
+LLVM::GlobalOp getDynamicSharedMemorySymbol(
+ ConversionPatternRewriter &rewriter, gpu::GPUModuleOp moduleOp,
+ gpu::DynamicSharedMemoryOp op, const LLVMTypeConverter *typeConverter,
+ MemRefType memrefType, unsigned alignmentBit) {
uint64_t alignmentByte = alignmentBit / memrefType.getElementTypeBitWidth();
FailureOr<unsigned> addressSpace =
@@ -661,8 +660,7 @@ getDynamicSharedMemorySymbol(ConversionPatternRewriter &rewriter,
// Step 1. Collect symbol names of LLVM::GlobalOp Ops. Also if any of
// LLVM::GlobalOp is suitable for shared memory, return it.
llvm::StringSet<> existingGlobalNames;
- for (auto globalOp :
- moduleOp->getRegion(0).front().getOps<LLVM::GlobalOp>()) {
+ for (auto globalOp : moduleOp.getBody()->getOps<LLVM::GlobalOp>()) {
existingGlobalNames.insert(globalOp.getSymName());
if (auto arrayType = dyn_cast<LLVM::LLVMArrayType>(globalOp.getType())) {
if (globalOp.getAddrSpace() == addressSpace.value() &&
@@ -684,7 +682,7 @@ getDynamicSharedMemorySymbol(ConversionPatternRewriter &rewriter,
// Step 3. Generate a global op
OpBuilder::InsertionGuard guard(rewriter);
- rewriter.setInsertionPoint(&moduleOp->getRegion(0).front().front());
+ rewriter.setInsertionPointToStart(moduleOp.getBody());
auto zeroSizedArrayType = LLVM::LLVMArrayType::get(
typeConverter->convertType(memrefType.getElementType()), 0);
@@ -709,10 +707,8 @@ LogicalResult GPUDynamicSharedMemoryOpLowering::matchAndRewrite(
// Step 2: Generate a global symbol or existing for the dynamic shared
// memory with memref<0xi8> type
- LLVM::LLVMFuncOp funcOp = op->getParentOfType<LLVM::LLVMFuncOp>();
- LLVM::GlobalOp shmemOp = {};
- Operation *moduleOp = funcOp->getParentWithTrait<OpTrait::SymbolTable>();
- shmemOp = getDynamicSharedMemorySymbol(
+ auto moduleOp = op->getParentOfType<gpu::GPUModuleOp>();
+ LLVM::GlobalOp shmemOp = getDynamicSharedMemorySymbol(
rewriter, moduleOp, op, getTypeConverter(), memrefType0sz, alignmentBit);
// Step 3. Get address of the global symbol
diff --git a/mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp b/mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp
index 9e2c91bad7bfdd..31d165ce154070 100644
--- a/mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp
+++ b/mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp
@@ -391,8 +391,7 @@ struct LowerDeallocationsPass
bufferization::DeallocHelperMap deallocHelperFuncMap;
if (auto module = dyn_cast<ModuleOp>(getOperation())) {
- OpBuilder builder =
- OpBuilder::atBlockBegin(&module.getBodyRegion().front());
+ OpBuilder builder = OpBuilder::atBlockBegin(module.getBody());
// Build dealloc helper function if there are deallocs.
getOperation()->walk([&](bufferization::DeallocOp deallocOp) {
diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp b/mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
index 8be76cac87f297..b7fac163ba5fe3 100644
--- a/mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
+++ b/mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
@@ -58,7 +58,7 @@ static gpu::GPUModuleOp genGPUModule(OpBuilder &builder, ModuleOp topModule) {
for (auto op : topModule.getBodyRegion().getOps<gpu::GPUModuleOp>())
return op; // existing
markAsGPUContainer(topModule);
- builder.setInsertionPointToStart(&topModule.getBodyRegion().front());
+ builder.setInsertionPointToStart(topModule.getBody());
return builder.create<gpu::GPUModuleOp>(topModule->getLoc(),
"sparse_kernels");
}
@@ -75,7 +75,7 @@ static gpu::GPUFuncOp genGPUFunc(OpBuilder &builder, gpu::GPUModuleOp gpuModule,
("kernel" + Twine(kernelNumber++)).toStringRef(kernelName);
} while (gpuModule.lookupSymbol(kernelName));
// Then we insert a new kernel with given arguments into the module.
- builder.setInsertionPointToStart(&gpuModule.getBodyRegion().front());
+ builder.setInsertionPointToStart(gpuModule.getBody());
SmallVector<Type> argsTp;
for (auto arg : args)
argsTp.push_back(arg.getType());
More information about the flang-commits
mailing list