This patch splits OpBase.td into smaller files, focusing on individual,
implementations of functionalities.
This patch is marked NFC, as it just splits the implementation into multiple
files and includes them back into OpBase.td, so it doesn't break anything.
Most of the patch is mechanical, with chunks of implementation being shifted
into indvidual files. The main things to look out are:
- Classes and Definations added to Utils.td
- Headers of files
- Any thing that should have been split but isn't
Quite a bit of this doesn't make sense to me, why are regions in the AttrType file? It'd also be nice to move all of the specialized attr/type constraints to a different file (so this one can just be focused on defining attributes/types).