[all-commits] [llvm/llvm-project] ffe82d: [NFC][Load] Find better place for `mustSuppressSpe...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Fri Jul 26 11:58:36 PDT 2024


  Branch: refs/heads/users/vitalybuka/spr/instcombineasan-dont-speculate-loads-before-select-ptr
  Home:   https://github.com/llvm/llvm-project
  Commit: ffe82da6043bd9f15abf4ab8075b1cf8f84fb2fa
      https://github.com/llvm/llvm-project/commit/ffe82da6043bd9f15abf4ab8075b1cf8f84fb2fa
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-26 (Fri, 26 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/Loads.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [NFC][Load] Find better place for `mustSuppressSpeculation`

And extract `suppressSpeculativeLoadForSanitizers`.

Pull Request: https://github.com/llvm/llvm-project/pull/100794


  Commit: 403561bd1ef32d20dc73a0e89328c9467d6f4a25
      https://github.com/llvm/llvm-project/commit/403561bd1ef32d20dc73a0e89328c9467d6f4a25
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-26 (Fri, 26 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/Loads.h
    M polly/lib/Analysis/ScopBuilder.cpp
    M polly/lib/Analysis/ScopDetection.cpp

  Log Message:
  -----------
  [NFC][Load] Make `ScanFrom` required parameters

In #100773 we will go conservative for sanitizers,
so it's better to pinpoint location consciously.

Pull Request: https://github.com/llvm/llvm-project/pull/100789


  Commit: b8cc3202637c414df642b2a6fb82fa84c62e86a0
      https://github.com/llvm/llvm-project/commit/b8cc3202637c414df642b2a6fb82fa84c62e86a0
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-26 (Fri, 26 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/Loads.cpp
    A llvm/test/Transforms/InstCombine/select-load.ll

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

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

This annotations can be used to track size of the
local object, e.g. inline vector like may prevent
accessed beyond the current vector size.

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

Fixes #100639.

Pull Request: https://github.com/llvm/llvm-project/pull/100773


Compare: https://github.com/llvm/llvm-project/compare/f8ac356a5012...b8cc3202637c

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