The GitHub Actions job "Lint" on tvm.git/ir-mutator-with-analyzer-take-ref has failed. Run started by GitHub user tlopex (triggered by tlopex).
Head commit for run: c34d372170994766c7bbba9a1dd01baf39c5e08d / tlopex <[email protected]> [Arith] Let IRMutatorWithAnalyzer take a const Analyzer& After #19675 made arith::Analyzer an FFI object, IRMutatorWithAnalyzer and its subclasses took AnalyzerObj*, forcing every instantiation site to pass analyzer.get(). Migrate the IRMutatorWithAnalyzer family to accept the Analyzer handle directly. Changes: - IRMutatorWithAnalyzer gains a `const Analyzer&` constructor overload. The existing `AnalyzerObj*` overload is kept on purpose: RewriteSimplifier::Impl is constructed from the AnalyzerObj's own `this` mid-construction, where no Analyzer handle exists yet and GetRef on a half-built, self-owned object would be unsafe / form an ownership cycle. - The directly-instantiated subclass constructors switch AnalyzerObj* -> const Analyzer&, dropping analyzer.get() at their call sites. - For the factory-style subclasses (NoOpRemover, StmtSimplifier) the construction happens inside their static Apply()/free-function entry points, so those internal (src/, non-FFI, non-public) signatures move to const Analyzer& as well -- StmtSimplify(), RemoveNoOp() and BlockBufferAccessSimplifier::Simplify() -- removing analyzer.get() at the remaining call sites. Deliberately left as AnalyzerObj*: - The per-sub-analyzer `AnalyzerObj* parent` constructors (ConstIntBound, ModularSet, IntSet, Canonical, RewriteSimplifier): AnalyzerObj owns them by value, so a strong back-reference would be a cycle. - VTInjector: it is built from the inherited raw analyzer_ member and never wrote analyzer.get() to begin with. The field stays `AnalyzerObj* analyzer_` (borrowed), so there is no extra refcount and no ownership cycle. Because AnalyzerObj is _type_mutable, a const Analyzer& still exposes a non-const operator->, so subclass bodies (analyzer_->Bind(...)) are unchanged. No Python / FFI / public-header surface changes; runtime behavior is identical. Report URL: https://github.com/apache/tvm/actions/runs/27741900149 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
