[all-commits] [llvm/llvm-project] fe0e63: [DebugInfo][RemoveDIs] Support DPValues in HWAsan ...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Wed Jan 24 02:38:47 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fe0e632b00e63bda75155a8d1aa16d271d4af728
      https://github.com/llvm/llvm-project/commit/fe0e632b00e63bda75155a8d1aa16d271d4af728
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-01-24 (Wed, 24 Jan 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Support DPValues in HWAsan (#78731)

This patch extends HWASAN to support maintenance of debug-info that
isn't stored as intrinsics, but is instead in a DPValue object. This is
straight-forwards: we collect any such objects in StackInfoBuilder, and
apply the same operations to them as we would to dbg.value and similar
intrinsics.

I've also replaced some calls to getNextNode with debug-info skipping
next calls, and use iterators for instruction insertion rather than
instruction pointers. This avoids any difference in output between
intrinsic / non-intrinsic debug-info, but also means that any debug-info
comes before code inserted by HWAsan, rather than afterwards. See the
test modifications, where the variable assignment (presented as a
dbg.value) jumps up over all the code inserted by HWAsan. Seeing how the
code inserted by HWAsan is always (AFAIUI) given the source-location of
the instruction being instrumented, I don't believe this will have any
effect on which lines variable assignments become visible on; it may
extend the number of instructions covered by the assignments though.




More information about the All-commits mailing list