This addresses an issue with dependent co_return handling, and
preparation for PR55406's fix.
If the co_return type is not void, we'll look for return_value, but
if it's void, we'll look for return_void. Usually the promise type is
dependent, and no lookup is actually done. But, if it is
non-dependent, we'll do the lookup for return_value even when the type
is T. And then possibly emit an incorrect diagnostic.
We should only do the lookup when the types are non-dependent. This
is the only coroutine place where the name we look for depends on an
expression type.
It looks better to follow the style in https://github.com/llvm/llvm-project/blob/9b519f416b70db0fa3bba020732988d3555a3625/clang/lib/Sema/SemaCoroutine.cpp#L936-L939