[all-commits] [llvm/llvm-project] 0a4d3e: [LVI] Check for non-speculatable instructions

Nikita Popov via All-commits all-commits at lists.llvm.org
Fri Jan 13 07:10:29 PST 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0a4d3eae335c1d4dc5bd9a440af4b66ccb9d0084
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-01-13 (Fri, 13 Jan 2023)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/cond-at-use.ll

  Log Message:
  [LVI] Check for non-speculatable instructions

When constraining an operand based on a condition at a (potentially
transitive) use site, make sure we don't skip over non-speculatable
instructions. While the result is only used under the condition,
the non-speculatable instruction may have a side-effect or UB.

Demonstrating this issue requires raising the limit on the walk,
so do that.

More information about the All-commits mailing list