ODS: introduce ParamNativeOpTrait
authorAlex Zinenko <zinenko@google.com>
Mon, 22 Jul 2019 12:37:57 +0000 (05:37 -0700)
committerA. Unique TensorFlower <gardener@tensorflow.org>
Mon, 22 Jul 2019 12:38:30 +0000 (05:38 -0700)
commit52cf6b80445f7db8abba2234d45c308550a2c527
treea2a494a1813709f2bdd1dd43e9db0435ba85c34e
parent17c18840dabfa894d1ac90146469680d3750a8b6
ODS: introduce ParamNativeOpTrait

In MLIR C++ implementation, certain OpTraits are parameterized by values or
types using nested class templates.  These traits correspond to trait
identifiers of the form "OpTrait::TraitName<Parameters>::Impl".  Such long
names are arguably too verbose to be spelled out entirely as NativeOpTrait in
ODS and obscure the fact of parameterization.  Introduce ParamNativeOpTrait to
generate such trait identifiers from the base name and the parameters directly
in ODS.  Exercise the functionality on the SingleBlockImplicitTerminator trait.

PiperOrigin-RevId: 259308796
mlir/include/mlir/AffineOps/AffineOps.td
mlir/include/mlir/IR/OpBase.td