mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
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... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89456 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c088ae8b84
commit
76700ba64c
@ -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
Block a user