[MLIR] Remove TableGen redundant calls to native calls when creating new operations in DRR TableGen files
Currently, the TableGen rewrite generates redundant native calls in MLIR DRR files. This is a problem as some native calls may involve significant computations (e.g. when performing constant propagation where every values in a large tensor is touched).
The pattern was as follow:
c++ if (native-call(args)) tblgen_attrs.emplace_back(rewriter, attribute, native-call(args))
The replacement pattern compute native-call(args) once and then use it both in the if condition and the emplace_back call.
Differential Revision: https://reviews.llvm.org/D82101