From ac34d7b7261173cc583c1874dc129242dfd3deec Mon Sep 17 00:00:00 2001 From: Eugene Zhulenev Date: Sat, 8 Jul 2023 22:59:00 -0700 Subject: [PATCH] [NFC] IREEInput/Util: Simplify loops with llvm range helpers (#14334) --- .../iree/compiler/Dialect/Util/IR/UtilOps.cpp | 9 +++---- .../compiler/Dialect/Util/IR/UtilTypes.cpp | 25 +++++++------------ .../lib/Dialect/Input/InputOps.cpp | 14 +++++------ 3 files changed, 18 insertions(+), 30 deletions(-) diff --git a/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.cpp b/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.cpp index 94ea8313ef15..11865dc469a8 100644 --- a/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.cpp +++ b/compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.cpp @@ -32,12 +32,9 @@ namespace iree_compiler { Value findValueSizeInList(unsigned index, ValueRange values, ValueRange sizes) { assert(values[index].getType().isa() && "must be a size-aware type to get dims"); - unsigned sizeIndex = 0; - for (unsigned i = 0; i < index; ++i) { - if (llvm::isa(values[i].getType())) { - ++sizeIndex; - } - } + unsigned sizeIndex = llvm::count_if(values.take_front(index), [](auto value) { + return isa(value.getType()); + }); return sizes[sizeIndex]; } diff --git a/compiler/src/iree/compiler/Dialect/Util/IR/UtilTypes.cpp b/compiler/src/iree/compiler/Dialect/Util/IR/UtilTypes.cpp index c719647e7c43..47623f09ec47 100644 --- a/compiler/src/iree/compiler/Dialect/Util/IR/UtilTypes.cpp +++ b/compiler/src/iree/compiler/Dialect/Util/IR/UtilTypes.cpp @@ -432,25 +432,18 @@ Value TiedOpInterface::findTiedBaseValue(Value derivedValue) { // static bool TiedOpInterface::hasAnyTiedUses(Value value) { - for (auto &use : value.getUses()) { - auto tiedOp = dyn_cast(use.getOwner()); - if (!tiedOp) - continue; - if (tiedOp.isOperandTied(use.getOperandNumber())) - return true; - } - return false; + return llvm::any_of(value.getUses(), [](auto &use) { + if (auto tiedOp = dyn_cast(use.getOwner())) { + return tiedOp.isOperandTied(use.getOperandNumber()); + } + return false; + }); } bool detail::isOperandTied(Operation *op, unsigned operandIndex) { - auto tiedOp = dyn_cast(op); - if (!tiedOp) - return false; - auto tiedIndices = tiedOp.getTiedResultOperandIndices(); - for (unsigned i = 0; i < tiedIndices.size(); ++i) { - if (tiedIndices[i] == operandIndex) { - return true; - } + if (auto tiedOp = dyn_cast(op)) { + auto tiedIndices = tiedOp.getTiedResultOperandIndices(); + return llvm::find(tiedIndices, operandIndex) != tiedIndices.end(); } return false; } diff --git a/llvm-external-projects/iree-dialects/lib/Dialect/Input/InputOps.cpp b/llvm-external-projects/iree-dialects/lib/Dialect/Input/InputOps.cpp index 185a80bd17fc..ca99e84beb4c 100644 --- a/llvm-external-projects/iree-dialects/lib/Dialect/Input/InputOps.cpp +++ b/llvm-external-projects/iree-dialects/lib/Dialect/Input/InputOps.cpp @@ -154,14 +154,12 @@ Value TiedOpInterface::findTiedBaseValue(Value derivedValue) { } bool TiedOpInterface::hasAnyTiedUses(Value value) { - for (auto &use : value.getUses()) { - auto tiedOp = dyn_cast(use.getOwner()); - if (!tiedOp) - continue; - if (tiedOp.isOperandTied(use.getOperandNumber())) - return true; - } - return false; + return llvm::any_of(value.getUses(), [](auto &use) { + if (auto tiedOp = dyn_cast(use.getOwner())) { + return tiedOp.isOperandTied(use.getOperandNumber()); + } + return false; + }); } //===----------------------------------------------------------------------===//