Swift is getting some new asynchronous execution abilities which means functions will want to pass special execution contexts along in a way that is preserved by unaware functions much like swiftself. So this adds a parallel attribute to support that, which will map to a callee saved-register. That accounts for the fairly straightforward IR changes here.
Also, when this kind of argument is present, much of the control flow will be via guaranteed tail-calls which since they destroy the stack frame don't preserve backtrace information well. So when one of these contexts is present it will extend the usual (on AArch64) [FP, LR] frame record by putting the context just before it: [Ctx, FP, LR] (before rather than afterwards so that the same layout can be used on x86 where callq pushes the return address).
Finally, so that system tools and other things capturing stack traces can detect this kind of frame, the in-memory FP gets bit 60 set to 1.
On arm64e, this context will be signed in an address-discriminated way.
I think the ^s need to be the same length as the text above it, otherwise we'll get sphinx warnings.