[llvm] [SCEV] Improve applyLoopGuards to support Mul (PR #83428)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 6 01:29:50 PST 2024
https://github.com/nikic requested changes to this pull request.
> It does so by preserving the information that a SCEVMul with a SCEVConstant operand divides by this constant.
Maybe I'm misunderstanding what you are doing, but I don't think that's correct due to overflow? E.g. consider https://alive2.llvm.org/ce/z/Ljc8Jj.
You'd have to restrict this to either power of two constants, or check for appropriate nowrap flags.
> It also generalized the assumption cache divisibility propagation to non-SCEVUnknowns.
This improvement sounds unrelated to the other one -- can it be split into a separate patch?
https://github.com/llvm/llvm-project/pull/83428
More information about the llvm-commits
mailing list