[Mlir-commits] [mlir] Fix block merging (PR #97697)
Jakub Kuderski
llvmlistbot at llvm.org
Mon Jul 8 08:20:33 PDT 2024
================
@@ -674,6 +679,64 @@ static bool ableToUpdatePredOperands(Block *block) {
return true;
}
+/// Prunes the redundant list of arguments. E.g., if we are passing an argument
+/// list like [x, y, z, x] this would return [x, y, z] and it would update the
+/// `block` (to whom the argument are passed to) accordingly
+static void
+pruneRedundantArguments(SmallVector<SmallVector<Value, 8>, 2> &newArguments,
+ RewriterBase &rewriter, Block *block) {
+ SmallVector<SmallVector<Value, 8>, 2> newArgumentsPruned(
+ newArguments.size(), SmallVector<Value, 8>());
+
+ if (!newArguments.empty()) {
+ llvm::DenseMap<unsigned, unsigned> toReplace;
----------------
kuhar wrote:
I find it easier to read when maps are names `keysToValue`. Here I'd have to follow the logic to figure out what the keys and values are.
https://github.com/llvm/llvm-project/pull/97697
More information about the Mlir-commits
mailing list