diff options
author | Sushant Gokhale <sgokhale@nvidia.com> | 2025-08-11 00:24:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-11 00:24:50 -0700 |
commit | e8918c318ee62973867e7ac3d3250a4478f2f04d (patch) | |
tree | 72769ac27f5be205fb920d2608d070539d3c6fef /llvm/lib/Transforms/IPO/FunctionSpecialization.cpp | |
parent | e92b7e9641949f9d9c2ca8964c31a437272d15af (diff) | |
download | llvm-e8918c318ee62973867e7ac3d3250a4478f2f04d.zip llvm-e8918c318ee62973867e7ac3d3250a4478f2f04d.tar.gz llvm-e8918c318ee62973867e7ac3d3250a4478f2f04d.tar.bz2 |
[SCEV] Consider non-volatile memory intrinsics as not having side-effect for forward progress (#150916)
For the attached test:
Before the loop-idiom pass, we have a store into the inner loop which is
considered simple and one that does not have any side effects on the
loop. Post loop-idiom pass, we get a memset into the outer loop that is
considered to introduce side effects on the loop. This changes the
backedge taken count before and after the pass and hence, the crash with
verify-scev.
We try to consider non-volatile memory intrinsics as not having
side-effect for forward progress to fix the issue.
Fixes #149377
Diffstat (limited to 'llvm/lib/Transforms/IPO/FunctionSpecialization.cpp')
0 files changed, 0 insertions, 0 deletions