[PATCH] [AArch64][ARM] Match interleaved memory accesses into ldN/stN/vldN/vstN intrinsics.
Renato Golin
renato.golin at linaro.org
Fri Jun 19 06:13:59 PDT 2015
================
Comment at: lib/CodeGen/InterleavedAccessPass.cpp:113
@@ +112,3 @@
+ for (; i < Mask.size(); i++)
+ if (Mask[i] >= 0 && static_cast<unsigned>(Mask[i]) != Index + i * Factor)
+ break;
----------------
If the mask index can't be negative, why use ArrayRef<int>?
================
Comment at: lib/CodeGen/InterleavedAccessPass.cpp:134
@@ +133,3 @@
+ // Check potential Factors.
+ for (Factor = MIN_FACTOR; Factor <= MAX_FACTOR; Factor++)
+ if (isDeInterleaveMaskOfFactor(Mask, Factor, Index))
----------------
Checking for all factors "up to" in isDeInterleaveMaskOfFactor() is redundant with this line.
Though, I see that you're using it in other functions that may need that functionality.
Not sure how to split this, but it looks inefficient...
http://reviews.llvm.org/D10533
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list