[all-commits] [llvm/llvm-project] f81225: [ConstraintElim] Use SCEV to check for multiples (...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Thu Jan 4 05:04:29 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f8122518750e3563a79df22d72c26c3c922f63f2
https://github.com/llvm/llvm-project/commit/f8122518750e3563a79df22d72c26c3c922f63f2
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-multiples.ll
Log Message:
-----------
[ConstraintElim] Use SCEV to check for multiples (#76925)
When adding constraints for induction variables, if the step is not one,
we need to make sure that (end-start) is a multiple of step, otherwise
we might step over the end value.
Currently this only supports one specific pattern for pointers, where
the end is a gep of the start with an appropriate offset.
Generalize this by using SCEV to check for multiples, which also makes
this work for integer IVs.
More information about the All-commits
mailing list