[PATCH] D97854: [RFC][nsan] A Floating-point numerical sanitizer.
Clement Courbet via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 10 22:46:09 PST 2021
courbet added a comment.
In D97854#2617097 <https://reviews.llvm.org/D97854#2617097>, @scanon wrote:
> Is there a mechanism to instruct the sanitizer to ignore a specific expression or function? From a cursory reading, I am mildly concerned about a deluge of false positives from primitives that compute exact (or approximate) residuals; these are acting to eliminate or precisely control floating-point errors, but tend to show up as "unstable" in a naive analysis that isn't aware of them.
Yes: like all sanitizers, what happens behind the scenes is that the frontend (`clang`) sets an annotation on each function in the program. It can be disabled for a specific function with the no_sanitize <https://clang.llvm.org/docs/AttributeReference.html#no-sanitize> attribute.
If `nsan` is disabled for a specific function, any return value will be re-extended again to shadow precision, and the computations will resume from here. This is equivalent to assuming that the function, its parameters, and any memory reads were correct.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97854/new/
https://reviews.llvm.org/D97854
More information about the llvm-commits
mailing list