[all-commits] [llvm/llvm-project] 6dba99: [InstCombine][asan] Don't speculate loads before `...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Mon Jul 29 11:28:26 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6dba99e14f7e508a5028036b753fa7f84e846307
      https://github.com/llvm/llvm-project/commit/6dba99e14f7e508a5028036b753fa7f84e846307
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-29 (Mon, 29 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/Loads.cpp
    M llvm/test/Transforms/InstCombine/load.ll
    M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
    M llvm/test/Transforms/InstCombine/select-load.ll
    M llvm/test/Transforms/InstCombine/strnlen-2.ll
    M llvm/test/Transforms/SROA/phi-and-select.ll
    M llvm/test/Transforms/SROA/phi-with-duplicate-pred.ll
    M llvm/test/Transforms/SROA/select-load.ll

  Log Message:
  -----------
  [InstCombine][asan] Don't speculate loads before `select ptr` (#100773)

Even if memory is valid from `llvm` point of view,
e.g. local alloca, sanitizers have API for user
specific memory annotations.

These annotations can be used to track size of the
local object, e.g. inline vectors may prevent
accesses beyond the current vector size.

So valid programs should not access those parts of
alloca before checking preconditions.

Fixes #100639.



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