I’ve written an implementation of an integer range analysis for MLIR, which is currently in the revisions
- https://reviews.llvm.org/D124023 (the interface and core of the analysis)
⚙ D124022 [mlir][Arith] Implement InferIntRangeInterface for arithmetic ops (implementing integer range computation support for ops in
⚙ D124024 [mlir][Arith] Pass to switch signed ops for equivalent unsigned ones (
Currently, I’ve gotten some general design comments on the interface and analysis, but I haven’t gotten any answers to my followup questions on the design feedback for a while. I’m willing to rework things, but I don’t have a good sense of what folks are interested in reworking them to. I also am rather unsure how to add more tests to the earlier parts of the analysis - unit tests (?).