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>
Sat, 21 Jan 2023 08:51:15 +0000 (09:51 +0100)
commitf7f01599ece64c04e70fbdb025a33d686fef7d6e
tree54216da18f00241b034bd7e22e5a0c35be9903b5
parent275ab246ee811507a2b1d2e42b2d655a25c8df6c
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/CMakeLists.txt
compiler-rt/test/metadata/CMakeLists.txt
compiler-rt/test/metadata/uar.cpp
llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp