[caffe2] Fix alias analysis for quantization compression ops (#74169)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/74169
Alias DB was being way too conservative about the semantics of exported Caffe2 ops - it thought some pure functions were writing to their inputs, which caused `ReplaceWithMaybeCopy` to fail. This in turn lead to a huge decrease in out variant coverage and regressions in many models.
I've extended the export macro to let the user specify an `AliasAnalysisKind` and marked all of the quantization compression ops as pure functions.
ghstack-source-id: 151394133
Reviewed By: hlu1
Differential Revision: D34733630
fbshipit-source-id: e968812e052f14261c10f9a280abe1d910de1f2f
(cherry picked from commit 5e9de49b98caff57be13e8bd101144ae2475b6b5)