This is an alternative to D122376. Rather than working around the problem, this patch requires that struct return type in intrinsics are anonymous/literal and adds auto-upgrade code to convert existing uses of intrinsics with named struct types.
This also fixes https://github.com/llvm/llvm-project/issues/37891.
This is a remangling upgrade, but previously was done manually to preserve the named struct type. Now we should use the generic code.