[PATCH] D85227: [Draft][MSAN] Cache stack traces and chained origins

Gui Andrade via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 10 10:14:52 PDT 2020


guiand updated this revision to Diff 284422.
guiand added a comment.

Addressed comments. For handling number of uses per stack trace, this uses a bit of a heuristic:

For some unique origin count O, some unique stack trace count T, and some origins/trace limit L:

  check_limit = (O > T * L * 7/8)
  if (check_limit) {
    hnd = FindHandle()
    if (hnd.uses() > L * 1/8)
      return early
  }
  inserted = PutChainedOrigin()
  if (check_limit && inserted)
    hnd.uses()++


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D85227/new/

https://reviews.llvm.org/D85227

Files:
  compiler-rt/lib/msan/msan.cpp
  compiler-rt/lib/msan/msan.h
  compiler-rt/lib/msan/msan_allocator.cpp
  compiler-rt/lib/msan/msan_interceptors.cpp
  compiler-rt/lib/msan/msan_new_delete.cpp
  compiler-rt/lib/msan/msan_origin.h
  compiler-rt/lib/msan/msan_poisoning.cpp
  compiler-rt/lib/msan/msan_poisoning.h
  compiler-rt/lib/sanitizer_common/sanitizer_hashcache.h
  compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.h
  compiler-rt/lib/sanitizer_common/sanitizer_stackdepotbase.h
  compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
  llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85227.284422.patch
Type: text/x-patch
Size: 35234 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200810/8b3bde44/attachment.bin>


More information about the llvm-commits mailing list