diff options
author | Dmitry Vyukov <dvyukov@google.com> | 2015-03-17 16:59:19 +0000 |
---|---|---|
committer | Dmitry Vyukov <dvyukov@google.com> | 2015-03-17 16:59:19 +0000 |
commit | 618d580ec96ddf32408dc0e62c6ad5dcd37c1bc1 (patch) | |
tree | bd9dbfb9de5c702d29411fd75e8c066efc13166d /llvm/tools/llvm-objdump/llvm-objdump.h | |
parent | 6bd917a31f32667bfe7c1b523a0b1f0cc320f8de (diff) | |
download | bcm5719-llvm-618d580ec96ddf32408dc0e62c6ad5dcd37c1bc1.tar.gz bcm5719-llvm-618d580ec96ddf32408dc0e62c6ad5dcd37c1bc1.zip |
asan: optimization experiments
The experiments can be used to evaluate potential optimizations that remove
instrumentation (assess false negatives). Instead of completely removing
some instrumentation, you set Exp to a non-zero value (mask of optimization
experiments that want to remove instrumentation of this instruction).
If Exp is non-zero, this pass will emit special calls into runtime
(e.g. __asan_report_exp_load1 instead of __asan_report_load1). These calls
make runtime terminate the program in a special way (with a different
exit status). Then you run the new compiler on a buggy corpus, collect
the special terminations (ideally, you don't see them at all -- no false
negatives) and make the decision on the optimization.
The exact reaction to experiments in runtime is not implemented in this patch.
It will be defined and implemented in a subsequent patch.
http://reviews.llvm.org/D8198
llvm-svn: 232502
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.h')
0 files changed, 0 insertions, 0 deletions