[all-commits] [llvm/llvm-project] 2f7cca: [SCEV] Add predicate in SolveLinEq to ensure B is ...

Florian Hahn via All-commits all-commits at lists.llvm.org
Sat Sep 28 06:20:19 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2f7ccaf4a8565628a4c7d2b5a49bb45478940be6
      https://github.com/llvm/llvm-project/commit/2f7ccaf4a8565628a4c7d2b5a49bb45478940be6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/ne-overflow.ll
    M llvm/test/Analysis/ScalarEvolution/predicated-max-backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-urem.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
    M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll

  Log Message:
  -----------
  [SCEV] Add predicate in SolveLinEq to ensure B is a multiple of A. (#108777)

This can help in cases where pointer alignment info is missing, e.g.
https://github.com/llvm/llvm-project/pull/108210

The predicate is formed for the complex expression that's passed to
SolveLinEquationWithOverflow and the checks could probably be pushed
closer to the root nodes, which in some cases may be cheaper to check.


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



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