@@ -200,28 +200,6 @@ FunctionPass *llvm::createInterleavedAccessPass() {
200
200
return new InterleavedAccess ();
201
201
}
202
202
203
- // / Check if the mask is a DE-interleave mask of the given factor
204
- // / \p Factor like:
205
- // / <Index, Index+Factor, ..., Index+(NumElts-1)*Factor>
206
- static bool isDeInterleaveMaskOfFactor (ArrayRef<int > Mask, unsigned Factor,
207
- unsigned &Index) {
208
- // Check all potential start indices from 0 to (Factor - 1).
209
- for (Index = 0 ; Index < Factor; Index++) {
210
- unsigned i = 0 ;
211
-
212
- // Check that elements are in ascending order by Factor. Ignore undef
213
- // elements.
214
- for (; i < Mask.size (); i++)
215
- if (Mask[i] >= 0 && static_cast <unsigned >(Mask[i]) != Index + i * Factor)
216
- break ;
217
-
218
- if (i == Mask.size ())
219
- return true ;
220
- }
221
-
222
- return false ;
223
- }
224
-
225
203
// / Check if the mask is a DE-interleave mask for an interleaved load.
226
204
// /
227
205
// / E.g. DE-interleave masks (Factor = 2) could be:
@@ -238,7 +216,7 @@ static bool isDeInterleaveMask(ArrayRef<int> Mask, unsigned &Factor,
238
216
// Make sure we don't produce a load wider than the input load.
239
217
if (Mask.size () * Factor > NumLoadElements)
240
218
return false ;
241
- if (isDeInterleaveMaskOfFactor (Mask, Factor, Index))
219
+ if (ShuffleVectorInst:: isDeInterleaveMaskOfFactor (Mask, Factor, Index))
242
220
return true ;
243
221
}
244
222
@@ -333,8 +311,8 @@ bool InterleavedAccessImpl::lowerInterleavedLoad(
333
311
for (auto *Shuffle : Shuffles) {
334
312
if (Shuffle->getType () != VecTy)
335
313
return false ;
336
- if (!isDeInterleaveMaskOfFactor (Shuffle-> getShuffleMask (), Factor,
337
- Index))
314
+ if (!ShuffleVectorInst:: isDeInterleaveMaskOfFactor (
315
+ Shuffle-> getShuffleMask (), Factor, Index))
338
316
return false ;
339
317
340
318
assert (Shuffle->getShuffleMask ().size () <= NumLoadElements);
@@ -343,8 +321,8 @@ bool InterleavedAccessImpl::lowerInterleavedLoad(
343
321
for (auto *Shuffle : BinOpShuffles) {
344
322
if (Shuffle->getType () != VecTy)
345
323
return false ;
346
- if (!isDeInterleaveMaskOfFactor (Shuffle-> getShuffleMask (), Factor,
347
- Index))
324
+ if (!ShuffleVectorInst:: isDeInterleaveMaskOfFactor (
325
+ Shuffle-> getShuffleMask (), Factor, Index))
348
326
return false ;
349
327
350
328
assert (Shuffle->getShuffleMask ().size () <= NumLoadElements);
0 commit comments