The SCEV checks can replace the symbolic strides with constants. The
replacement in vector region relies on GVN pass, but it is run before
LV pass, so we need to replace it in LV pass.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Fix failed tests with ARM and RISCV backends. Replace the strides with const values in vector region, which is expected with this patch.
Comment Actions
This seems like it's duplicating information already available in PredicatedScalarEvolution.
You can see my D147750 for one example where PSE solves a related problem. I suspect we should probably be phrasing this one in terms of constant folding and instsimplify where the constants might come from PSE. Maybe this doesn't work out, but I'd suggest trying that before adding additional complexity here.