Add support for returnValue phis (e.g. to return an Optional .some or .none). Fixes rdar://149397018 (Wrapping non escapable in an Optional (or any copy lifetime wrapper) is an escape) (cherry picked from commit a1aaed9159)
a1aaed9159
AST.Type
AST.CanonicalType
SIL.Type
...byWalkingDown
initialWalkingDirection
is_escaping_closure
destroy_not_escaped_closure
UseList
SingleValueInstruction.replace(with:)