From d150662024e6d06b6718e7256e5fd0ecc70585fc Mon Sep 17 00:00:00 2001 From: Rahul Joshi Date: Fri, 19 Jun 2020 12:33:21 -0700 Subject: [PATCH] [MLIR][NFC] Eliminate .getBlocks() when not needed Differential Revision: https://reviews.llvm.org/D82229 --- mlir/lib/Dialect/GPU/IR/GPUDialect.cpp | 6 +++--- mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp | 2 +- mlir/lib/ExecutionEngine/JitRunner.cpp | 2 +- mlir/lib/Target/LLVMIR/ModuleTranslation.cpp | 2 +- mlir/lib/Transforms/LoopInvariantCodeMotion.cpp | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp b/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp index 6e45241b12560c..13c5ed835c66b1 100644 --- a/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp +++ b/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp @@ -219,19 +219,19 @@ void LaunchOp::build(OpBuilder &builder, OperationState &result, KernelDim3 LaunchOp::getBlockIds() { assert(!body().empty() && "LaunchOp body must not be empty."); - auto args = body().getBlocks().front().getArguments(); + auto args = body().front().getArguments(); return KernelDim3{args[0], args[1], args[2]}; } KernelDim3 LaunchOp::getThreadIds() { assert(!body().empty() && "LaunchOp body must not be empty."); - auto args = body().getBlocks().front().getArguments(); + auto args = body().front().getArguments(); return KernelDim3{args[3], args[4], args[5]}; } KernelDim3 LaunchOp::getGridSize() { assert(!body().empty() && "LaunchOp body must not be empty."); - auto args = body().getBlocks().front().getArguments(); + auto args = body().front().getArguments(); return KernelDim3{args[6], args[7], args[8]}; } diff --git a/mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp b/mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp index ad40017208b513..3dec1d16987f3f 100644 --- a/mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp +++ b/mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp @@ -50,7 +50,7 @@ static void ensureDistinctSuccessors(Block &bb) { void mlir::LLVM::ensureDistinctSuccessors(Operation *op) { op->walk([](LLVMFuncOp f) { - for (auto &bb : f.getBlocks()) { + for (auto &bb : f) { ::ensureDistinctSuccessors(bb); } }); diff --git a/mlir/lib/ExecutionEngine/JitRunner.cpp b/mlir/lib/ExecutionEngine/JitRunner.cpp index 436ad72d8ff693..7959183e89682c 100644 --- a/mlir/lib/ExecutionEngine/JitRunner.cpp +++ b/mlir/lib/ExecutionEngine/JitRunner.cpp @@ -167,7 +167,7 @@ static Error compileAndExecuteVoidFunction( Options &options, ModuleOp module, StringRef entryPoint, std::function transformer) { auto mainFunction = module.lookupSymbol(entryPoint); - if (!mainFunction || mainFunction.getBlocks().empty()) + if (!mainFunction || mainFunction.empty()) return make_string_error("entry point not found"); void *empty = nullptr; return compileAndExecute(options, module, entryPoint, transformer, &empty); diff --git a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp index 32880a9d237463..8e022f5697d70b 100644 --- a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp +++ b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp @@ -611,7 +611,7 @@ static llvm::SetVector topologicalSort(LLVMFuncOp f) { // predecessors), add it to the list and traverse its successors in DFS // preorder. llvm::SetVector blocks; - for (Block &b : f.getBlocks()) { + for (Block &b : f) { if (blocks.count(&b) == 0) topologicalSortImpl(blocks, &b); } diff --git a/mlir/lib/Transforms/LoopInvariantCodeMotion.cpp b/mlir/lib/Transforms/LoopInvariantCodeMotion.cpp index 0a78cb4526f60f..9386653c45ce43 100644 --- a/mlir/lib/Transforms/LoopInvariantCodeMotion.cpp +++ b/mlir/lib/Transforms/LoopInvariantCodeMotion.cpp @@ -65,7 +65,7 @@ static bool canBeHoisted(Operation *op, // Recurse into the regions for this op and check whether the contained ops // can be hoisted. for (auto ®ion : op->getRegions()) { - for (auto &block : region.getBlocks()) { + for (auto &block : region) { for (auto &innerOp : block.without_terminator()) if (!canBeHoisted(&innerOp, definedOutside)) return false;