[all-commits] [llvm/llvm-project] 5bb650: Remove -bounds-checking-unique-traps (replace with...

Thurston Dang via All-commits all-commits at lists.llvm.org
Fri Dec 20 10:08:06 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5bb650345d83669434713146aaa431c1f7ad43d6
      https://github.com/llvm/llvm-project/commit/5bb650345d83669434713146aaa431c1f7ad43d6
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/test/CodeGen/bounds-checking.c
    M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/test/Instrumentation/BoundsChecking/many-trap.ll
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
    M llvm/test/Instrumentation/BoundsChecking/simple-32.ll
    M llvm/test/Instrumentation/BoundsChecking/simple.ll
    M llvm/test/Instrumentation/BoundsChecking/ubsan-unique-traps.ll

  Log Message:
  -----------
  Remove -bounds-checking-unique-traps (replace with -fno-sanitize-merge=local-bounds) (#120682)

#120613 removed -ubsan-unique-traps and replaced it with
-fno-sanitize-merge (introduced in #120511), which allows fine-grained
control of which UBSan checks to prevent merging. This analogous patch
removes -bound-checking-unique-traps, and allows it to be controlled via
-fno-sanitize-merge=local-bounds.

Most of this patch is simply plumbing through the compiler flags into
the bounds checking pass.

Note: this patch subtly changes -fsanitize-merge (the default) to also
include -fsanitize-merge=local-bounds. This is different from the
previous behavior, where -fsanitize-merge (or the old
-ubsan-unique-traps) did not affect local-bounds (requiring the separate
-bounds-checking-unique-traps). However, we argue that the new behavior
is more intuitive.

Removing -bounds-checking-unique-traps and merging its functionality
into -fsanitize-merge breaks backwards compatibility; we hope that this
is acceptable since '-mllvm -bounds-checking-unique-traps' was an
experimental flag.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list