This is yet another alternative patch in the D93974, D97077. and D97092 family.
The notion of this patch is that we can set the context for the argument the same way we do for instructions. This doesn't solve the ephemeral value case, but as demonstrated by the test cases, it does handle other cases.
I'm going to respond on D97092 with a bit more context. We could view this change as splitting out part of the functionality from D97092, or as a step towards a possible alternate.
clang-tidy: warning: 'auto *A' can be declared as 'const auto *A' [llvm-qualified-auto]
not useful