sanmd: refine selection of functions for UAR checking
authorDmitry Vyukov <dvyukov@google.com>
Fri, 20 Jan 2023 09:26:20 +0000 (10:26 +0100)
committerDmitry Vyukov <dvyukov@google.com>
Fri, 20 Jan 2023 15:22:37 +0000 (16:22 +0100)
commit9d4f1a9eff27716069dc6a2d991baa228c197b85
tree5df7b70707798038a97661e570a5bac4cb931ba8
parent3cbc72ef63c48979cd7b0d811e9ee5a66a65244e
sanmd: refine selection of functions for UAR checking

There are no intrinsic functions that leak arguments.
If the called function does not return, the current function
does not return as well, so no possibility of use-after-return.
Sanitizer function also don't leak or don't return.
It's safe to both pass pointers to local variables to them
and to tail-call them.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D142190
compiler-rt/test/metadata/CMakeLists.txt
compiler-rt/test/metadata/uar.cpp
llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp