[PATCH] D69627: [SLP]Fix PR43799: Crash on different sizes of GEP indices.
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 30 12:56:55 PDT 2019
spatel added inline comments.
================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:4098-4099
+ auto *CI = cast<ConstantInt>(V);
+ V = ConstantExpr::getIntegerCast(CI, Ty,
+ CI->getValue().isSignBitSet());
+ }
----------------
ABataev wrote:
> spatel wrote:
> > I think it's already a fuzzer corner case that we have different types in the bug report example, but let's take that 1 step further: what if the index type in IR is larger than getIntPtrType()? We might illegally truncate a large constant value.
> >
> > Safer to just give up completely if we find mismatched GEP index types?
> Maybe, just give up if GEP at least one index type is larger than intptr?
That should work, but it seems like we are adding code complexity for no real-world reason. Unless I'm misunderstanding - do we have real code / tests where the GEP indexes are different sizes?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69627/new/
https://reviews.llvm.org/D69627
More information about the llvm-commits
mailing list