[Mlir-commits] [mlir] [mlir][dataflow] Improve DataFlowFramework debug output (PR #176632)
lonely eagle
llvmlistbot at llvm.org
Mon Jan 19 02:54:46 PST 2026
linuxlonelyeagle wrote:
```
mlir-opt a.mlir -test-dead-code-analysis -debug
func.func @test_forall_op_control_flow(%num_threads: index) {
scf.forall (%arg0) in (%num_threads) {
} {tag = "test_forall_op_control_flow"}
return
}
```
it print
```
[dataflow DataFlowFramework.cpp:48 1] Creating dependency between mlir::dataflow::PredecessorState of <after operation>:func.func @test_forall_op_control_flow(%arg0: index) {...}
[dataflow DataFlowFramework.cpp:48 1] and mlir::dataflow::PredecessorState on <after operation>:func.func @test_forall_op_control_flow(%arg0: index) {...}
[dataflow DataFlowFramework.cpp:48 1] with mlir::dataflow::DeadCodeAnalysis
...
[dataflow DataFlowFramework.cpp:174 1] Propagating update to mlir::dataflow::Lattice<mlir::dataflow::ConstantValue> of <block argument> of type 'index' at index: 0
[dataflow DataFlowFramework.cpp:174 1] Value: <UNKNOWN>
[dataflow DataFlowFramework.cpp:174 1] Propagating update to mlir::dataflow::Lattice<mlir::dataflow::ConstantValue> of <block argument> of type 'index' at index: 0
[dataflow DataFlowFramework.cpp:174 1] Value: <UNKNOWN>
[dataflow SparseAnalysis.cpp:41 1] mlir::dataflow::Lattice<mlir::dataflow::ConstantValue> of <block argument> of type 'index' at index: 0
[dataflow SparseAnalysis.cpp:41 1] Value: <UNKNOWN>
[dataflow SparseAnalysis.cpp:41 1] enqueuing user dependent work item: <after operation>:scf.forall (%arg1) in (%arg0) {...} {tag = "test_forall_op_control_flow"}
[dataflow SparseAnalysis.cpp:41 1] with mlir::dataflow::DeadCodeAnalysis
[dataflow DataFlowFramework.cpp:154 1] Initialize child analyses successfully, start run the analysis until fixpoint
```
before
```
[dataflow DataFlowFramework.cpp:48 1] Creating dependency between mlir::dataflow::PredecessorState of <after operation>:func.func @test_forall_op_control_flow(%arg0: index) {...}
[dataflow DataFlowFramework.cpp:48 1] and mlir::dataflow::PredecessorState on <after operation>:func.return
...
[dataflow DataFlowFramework.cpp:156 1] Propagating update to mlir::dataflow::Lattice<mlir::dataflow::ConstantValue> of <block argument> of type 'index' at index: 0
[dataflow DataFlowFramework.cpp:156 1] Value: <UNKNOWN>
[dataflow DataFlowFramework.cpp:156 1] Propagating update to mlir::dataflow::Lattice<mlir::dataflow::ConstantValue> of <block argument> of type 'index' at index: 0
[dataflow DataFlowFramework.cpp:156 1] Value: <UNKNOWN>
[dataflow DataFlowFramework.cpp:142 1] Invoking 'mlir::dataflow::DeadCodeAnalysis' on: <after operation>:scf.forall (%arg1) in (%arg0) {...} {tag = "test_forall_op_control_flow"}
```
https://github.com/llvm/llvm-project/pull/176632
More information about the Mlir-commits
mailing list