As issue (invalid access caused by multithread coroutine) described in https://reviews.llvm.org/D75664, it also happens when await_suspend is attached with always_inline attribute. This because alwaysinliner pass does not insert lifetime intrinsics in O0 while in corosplit pass we depend on these intrinsics to prevent the promotion from alloca to frame.
This patch just enable to insert lifetime intrinsics when coroutine function is build with O0
TestPlan: check-clang; check-llvm; cppcoro
Two small nit-picks: