[all-commits] [llvm/llvm-project] 52ded6: [LAA] Always require non-wrapping pointers for run...

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Feb 20 10:00:45 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 52ded67249210db8762a282a662fe8249c1f4331
      https://github.com/llvm/llvm-project/commit/52ded67249210db8762a282a662fe8249c1f4331
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-20 (Thu, 20 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
    M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
    M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
    M llvm/test/Analysis/LoopAccessAnalysis/runtime-checks-may-wrap.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll

  Log Message:
  -----------
  [LAA] Always require non-wrapping pointers for runtime checks. (#127543)

Currently we only check if the pointers involved in runtime checks do
not wrap if we need to perform dependency checks. If that's not the
case, we generate runtime checks, even if the pointers may wrap (see
test/Analysis/LoopAccessAnalysis/runtime-checks-may-wrap.ll).

If the pointer wraps, then we swap start and end of the runtime check,
leading to incorrect checks.

An Alive2 proof of what the runtime checks are checking conceptually (on
i4 to have it complete in reasonable time) showing the incorrect result
should be https://alive2.llvm.org/ce/z/KsHzn8

Depends on https://github.com/llvm/llvm-project/pull/127410 to avoid
more regressions.

PR: https://github.com/llvm/llvm-project/pull/127543



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