[Mlir-commits] [mlir] [mlir][dataflow] Drop the firstIndex argument of old visitNonControlFlowArguments, add new visitNonControlFlowArguments API and use it in IntegerRangeAnalysis (PR #175210)

lonely eagle llvmlistbot at llvm.org
Sat Jan 24 05:57:51 PST 2026


================
@@ -325,16 +332,21 @@ class SparseForwardDataFlowAnalysis
   /// operands, and a region successor, compute the lattice values for block
   /// arguments that are not accounted for by the branching control flow (ex.
   /// the bounds of loops). By default, this method marks all such lattice
-  /// elements as having reached a pessimistic fixpoint. `firstIndex` is the
-  /// index of the first element of `argLattices` that is set by control-flow.
+  /// elements as having reached a pessimistic fixpoint.
   virtual void visitNonControlFlowArguments(Operation *op,
                                             const RegionSuccessor &successor,
                                             ValueRange successorInputs,
-                                            ArrayRef<StateT *> argLattices,
-                                            unsigned firstIndex) {
-    setAllToEntryStates(argLattices.take_front(firstIndex));
-    setAllToEntryStates(
-        argLattices.drop_front(firstIndex + successorInputs.size()));
+                                            ArrayRef<StateT *> argLattices) {
+    setAllToEntryStates(argLattices);
----------------
linuxlonelyeagle wrote:

You can see
```
 SmallVector<Value> nonSuccessorInputs =
            branch.getNonSuccessorInputs(RegionSuccessor::parent());
        SmallVector<AbstractSparseLattice *> nonSuccessorInputLattices =
            llvm::map_to_vector(nonSuccessorInputs, valueToLattices);
        visitNonControlFlowArgumentsImpl(branch, RegionSuccessor::parent(),
                                         nonSuccessorInputs,
                                         nonSuccessorInputLattices);
```
In this case, all of our argLattices are the lattices corresponding to the noSuccessorInputs.

https://github.com/llvm/llvm-project/pull/175210


More information about the Mlir-commits mailing list