aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-03-17 16:59:19 +0000
committerDmitry Vyukov <dvyukov@google.com>2015-03-17 16:59:19 +0000
commit618d580ec96ddf32408dc0e62c6ad5dcd37c1bc1 (patch)
treebd9dbfb9de5c702d29411fd75e8c066efc13166d /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parent6bd917a31f32667bfe7c1b523a0b1f0cc320f8de (diff)
downloadllvm-618d580ec96ddf32408dc0e62c6ad5dcd37c1bc1.zip
llvm-618d580ec96ddf32408dc0e62c6ad5dcd37c1bc1.tar.gz
llvm-618d580ec96ddf32408dc0e62c6ad5dcd37c1bc1.tar.bz2
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/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions