[PATCH] D84371: [DFSan] Add efficient fast16labels instrumentation mode.

Matt Morehouse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 22 17:06:03 PDT 2020


morehouse created this revision.
morehouse added reviewers: kcc, vitalybuka, pcc.
Herald added subscribers: Sanitizers, hiraditya.
Herald added projects: Sanitizers, LLVM.

Adds the -fast-16-labels flag, which enables efficient instrumentation
for DFSan when the user needs <=16 labels.  The instrumentation
eliminates most branches and most calls to __dfsan_union or
__dfsan_union_load.

We also add a call into the runtime during preinit to enable
fast16labels mode there, since we may still call __dfsan_union[_load] in
rare cases.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D84371

Files:
  compiler-rt/lib/dfsan/dfsan.cpp
  compiler-rt/lib/dfsan/done_abilist.txt
  compiler-rt/test/dfsan/fast16labels.c
  llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
  llvm/test/Instrumentation/DataFlowSanitizer/fast16labels.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84371.279974.patch
Type: text/x-patch
Size: 12488 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200723/cd870161/attachment.bin>


More information about the llvm-commits mailing list