Asynchrnous semantics for TIR, and async pipeline

Hi, I posted an RFC “Asynchronous stage in software pipeline” below:

Currently, the scope of asynchrony is limited to the TIR software pipeline, but the discussion has been moving toward coming up with more “general async semantics” for TIR. So I thought I should look for inputs from broader audiences. Feel free to post your thoughts to the above RFC!

cc @comaniac @areusch @MJKlaiber @manupa-arm