This commit adds a significant amount of visualizers attempting
to cover the majority of our visualization needs. It covers:
- Operations/OperationName/Ops/OpInterfaces
- Attributes/Types/Attr|TypeInterfaces/NamedAttribute
- Blocks/Regions
- Various range types (e.g. ValueRange/TypeRange)
- Values/BlockArguments/OpResults
This does require an NFC change to interfaces to rename
the concept field to avoid clash with the base class. It
also requires exposing a few method to the debugger
to help resolve information that is non-trivial to reconstruct.
These methods are re-exported using a debug_Blah naming
scheme to avoid messing with hot methods.
Note that this makes use of the new callback feature in lldb-16
(currently trunk) that allows for providing visualizers based on
a dynamic callback, instead of just the typename. It requires
a very new lldb, but allows for providing good default visualization
for all attributes/operations/types out of the box.
determining