Skip to content

Commit

Permalink
[NFC] IREEInput/Util: Simplify loops with llvm range helpers (#14334)
Browse files Browse the repository at this point in the history
  • Loading branch information
ezhulenev authored Jul 9, 2023
1 parent 095643b commit ac34d7b
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 30 deletions.
9 changes: 3 additions & 6 deletions compiler/src/iree/compiler/Dialect/Util/IR/UtilOps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,9 @@ namespace iree_compiler {
Value findValueSizeInList(unsigned index, ValueRange values, ValueRange sizes) {
assert(values[index].getType().isa<IREE::Util::SizeAwareTypeInterface>() &&
"must be a size-aware type to get dims");
unsigned sizeIndex = 0;
for (unsigned i = 0; i < index; ++i) {
if (llvm::isa<IREE::Util::SizeAwareTypeInterface>(values[i].getType())) {
++sizeIndex;
}
}
unsigned sizeIndex = llvm::count_if(values.take_front(index), [](auto value) {
return isa<IREE::Util::SizeAwareTypeInterface>(value.getType());
});
return sizes[sizeIndex];
}

Expand Down
25 changes: 9 additions & 16 deletions compiler/src/iree/compiler/Dialect/Util/IR/UtilTypes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -432,25 +432,18 @@ Value TiedOpInterface::findTiedBaseValue(Value derivedValue) {

// static
bool TiedOpInterface::hasAnyTiedUses(Value value) {
for (auto &use : value.getUses()) {
auto tiedOp = dyn_cast<IREE::Util::TiedOpInterface>(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<TiedOpInterface>(use.getOwner())) {
return tiedOp.isOperandTied(use.getOperandNumber());
}
return false;
});
}

bool detail::isOperandTied(Operation *op, unsigned operandIndex) {
auto tiedOp = dyn_cast<TiedOpInterface>(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<TiedOpInterface>(op)) {
auto tiedIndices = tiedOp.getTiedResultOperandIndices();
return llvm::find(tiedIndices, operandIndex) != tiedIndices.end();
}
return false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,14 +154,12 @@ Value TiedOpInterface::findTiedBaseValue(Value derivedValue) {
}

bool TiedOpInterface::hasAnyTiedUses(Value value) {
for (auto &use : value.getUses()) {
auto tiedOp = dyn_cast<TiedOpInterface>(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<TiedOpInterface>(use.getOwner())) {
return tiedOp.isOperandTied(use.getOperandNumber());
}
return false;
});
}

//===----------------------------------------------------------------------===//
Expand Down

0 comments on commit ac34d7b

Please sign in to comment.