Refactor Symint Deduping to separate pass (#118938)
Previously Symint Deduping was done during proxy tracing which made it more difficult to reason about. This refactors the deduping to a separate pass.
We only dedupe symints which are resolvable from input symint nodes so as to avoid inducing a dependency on the backward in the forward.
potential fix for : https://github.com/pytorch/pytorch/issues/118224
Pull Request resolved: https://github.com/pytorch/pytorch/pull/118938
Approved by: https://github.com/ezyang