This work has fallen out from D134648 as a requirement to loosen
the "constness" of vscale.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/CodeGen/CodeGenPrepare.cpp | ||
---|---|---|
2353–2355 | Just being able to remove this wholesale seems optimistic but it doesn't seem to have any relevant test coverage. | |
llvm/test/Transforms/InstSimplify/vscale-inseltpoison.ll | ||
157–160 | These tests look like blind copies from vscale.ll and have no insert_eltement_poison related requirements so I've just remove them. |
LGTM. This is slightly non-optimal in terms of constant folding (what we really want is to export a GEP-folding API in ConstantFolding and not force going through ConstExpr + ConstantFoldConstant), but I don't think we need to block on that.
llvm/test/Transforms/InstSimplify/vscale.ll | ||
---|---|---|
199 | Any reason for this change? |
This should also get a LangRef mention that vscale is not valid in constant expression GEPs.
llvm/test/Transforms/InstSimplify/vscale.ll | ||
---|---|---|
199 | I wanted to show that even though all operands are constant this form of GEP is still not constant foldable. I figured this to be a better version of the original test, but I might have missed some subtlety that means an extra test is more appropriate? |
llvm/test/Transforms/InstSimplify/vscale.ll | ||
---|---|---|
199 | Oh I see, that makes sense. |
llvm/lib/CodeGen/CodeGenPrepare.cpp | ||
---|---|---|
2353–2355 | Just a note to say I've followed this advice and landed the CodeGenPrepare change via https://reviews.llvm.org/rGadbdf273efd5 and will await any fallout before landing the rest of this patch, probably towards the end of next week. |
Just being able to remove this wholesale seems optimistic but it doesn't seem to have any relevant test coverage.