[all-commits] [llvm/llvm-project] 0f2f1c: [sanitizers] Invalidate GlobalsAA

Vitaly Buka via All-commits all-commits at lists.llvm.org
Thu Sep 8 14:00:59 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0f2f1c2be164810da96f2bc7229ef56f54c7d137
      https://github.com/llvm/llvm-project/commit/0f2f1c2be164810da96f2bc7229ef56f54c7d137
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2022-09-08 (Thu, 08 Sep 2022)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    A llvm/test/Instrumentation/MemorySanitizer/invalidate_global_aa.ll
    A llvm/test/Instrumentation/MemorySanitizer/msan_invalidate.ll

  Log Message:
  -----------
  [sanitizers] Invalidate GlobalsAA

GlobalsAA is considered stateless as usually transformations do not introduce
new global accesses, and removed global access is not a problem for GlobalsAA
users.
Sanitizers introduce new global accesses:
 - Msan and Dfsan tracks origins and parameters with TLS, and to store stack origins.
  - Sancov uses global counters. HWAsan store tag state in TLS.
  - Asan modifies globals, but I am not sure if invalidation is required.

I see no evidence that TSan needs invalidation.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D133394




More information about the All-commits mailing list