There is no longer a need to keep the two separate. This is in preparation of reusing the same AnalysisState for tensor.empty elimination and One-Shot Bufferize (to address performance bottlenecks).
nit: "uses uses" typo
How does this interact with reusing the state? Maybe this comment should be updated in https://reviews.llvm.org/D143404 ?
(I'm also wondering how much of a sharp edge this is and if there are other ways to make the analysis more robust to mutations / usage patterns)
I added a comment to the class, clarifying this: Modifying the IR invalidates the analysis in general, but there are a few things that are safe. (E.g., adding new ops or changing uses of tensor.empty as long as we re-analyze these ops.)