[RFC] Better support for dialects that want to make SSA names "load bearing"

I don’t really see how this provides the features you get with LLVM?
First attributes aren’t maintained through transformations right now, we don’t have a way to propagate them. You could argue that this new attribute would be “magic” and “blessed” to be specifically handled by every transformation.
However this still does not provide the property that LLVM has that the name is overly stable after creation (it gets suffixed automatically when needed) and this is what allow to track a value over its lifetime through the pass pipeline.
Also, I don’t think you went all the way to what I mention above with leaving the entire operation custom parser in control: you still have

This does not invalidate the use you have for this, but I believe it just does not solve the other use cases.

Right now the only thing that makes me reluctant to your proposal is that by making the SSA name semantically important (or “load bearing” as you said), it isn’t clear to me that we can still freely work on features that would make use of the names for other non-semantically important purpose (like debugging).