729108cfc4
## Summary The cross-IR `CalleeCollector` abstraction in `include/tvm/ir/analysis.h` had a single consumer (relax `DeadCodeElimination`) yet forced its per-language visitors to live in separate `analysis/` files registered via a runtime vtable. This PR folds both visitors (relax + tirx) directly into `src/relax/transform/dead_code_elimination.cc` as anonymous-namespace helpers and deletes the now-dead abstraction. The indirection only paid off when multiple unrelated passes shared the visitor; with one consumer, the cross-TU vtable adds compile cost and spreads the implementation across three files. Inlining improves locality without enlarging the consumer's complexity.