forked from OSchip/llvm-project
Fix PR5563, an expensive checks failure when running on
tests/Transforms/InstCombine/shufflemask-undef.ll. If anyone cares, the use of 2*e here (and the equivalent all over the place in instcombine) seems wrong, though harmless: it should really be twice the length of the input vector. I think shufflevector used to require that the mask have the same length as the input, but I don't think that's true any more. I don't care enough about vectors to do anything about this... llvm-svn: 89456
This commit is contained in:
parent
df5280df05
commit
9e26aac773
|
@ -12920,7 +12920,7 @@ Instruction *InstCombiner::visitShuffleVectorInst(ShuffleVectorInst &SVI) {
|
|||
if (LHSMask.size() == Mask.size()) {
|
||||
std::vector<unsigned> NewMask;
|
||||
for (unsigned i = 0, e = Mask.size(); i != e; ++i)
|
||||
if (Mask[i] >= 2*e)
|
||||
if (Mask[i] >= e)
|
||||
NewMask.push_back(2*e);
|
||||
else
|
||||
NewMask.push_back(LHSMask[Mask[i]]);
|
||||
|
|
Loading…
Reference in New Issue