/// Returns true if this Group requires a scalar iteration to handle gaps.
bool requiresScalarEpilogue() const {
- // If Group has no gaps, or has gaps but the last member exists, then a
- // scalar epilog is not needed for this group.
- if (getNumMembers() == getFactor() || getMember(getFactor() - 1))
+ // If the last member of the Group exists, then a scalar epilog is not
+ // needed for this group.
+ if (getMember(getFactor() - 1))
return false;
// We have a group with gaps. It therefore cannot be a group of stores,
}
// Record that scalar epilogue is not allowed.
- LLVM_DEBUG(dbgs() << "LV: Not inserting scalar epilogue for access with gaps "
- "due to -Os/-Oz.\n");
+ LLVM_DEBUG(dbgs() << "LV: Not allowing scalar epilogue due to -Os/-Oz.\n");
// We don't create an epilogue when optimizing for size.
// Invalidate interleave groups that require an epilogue.