Emit strong definition for TypeID storage in Op/Type/Attributes definition
By making an explicit template specialization for the TypeID provided by these classes, the compiler will not emit an inline weak definition and rely on the linker to unique it. Instead a single definition will be emitted in the C++ file alongside the implementation for these classes. That will turn into a linker error what is now a hard-to-debug runtime behavior where instances of the same class may be using a different TypeID inside of different DSOs. Differential Revision: https://reviews.llvm.org/D105903
Loading