It's based on a runtime alloca based on the frame size. This allows us to lower async function calls before lowering the callee, and allows updating callees without updating the callers. Sema: add `std.debug.Trace` integration for `unneeded`. This helps us debug when `LazySrcLoc.unneeded` was incorrectly used.