Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Show First 20 Lines • Show All 2,280 Lines • ▼ Show 20 Lines | if (!HWLoopInfo.isHardwareLoopCandidate(SE, *LI, *DT)) { | ||||
LLVM_DEBUG(dbgs() << "preferPredicateOverEpilogue: hardware-loop is not " | LLVM_DEBUG(dbgs() << "preferPredicateOverEpilogue: hardware-loop is not " | ||||
"a candidate.\n"); | "a candidate.\n"); | ||||
return false; | return false; | ||||
} | } | ||||
return canTailPredicateLoop(L, LI, SE, DL, LVL->getLAI()); | return canTailPredicateLoop(L, LI, SE, DL, LVL->getLAI()); | ||||
} | } | ||||
TailFoldingStyle ARMTTIImpl::getPreferredTailFoldingStyle() const { | TailFoldingStyle | ||||
ARMTTIImpl::getPreferredTailFoldingStyle(bool IVUpdateMayOverflow) const { | |||||
if (!ST->hasMVEIntegerOps() || !EnableTailPredication) | if (!ST->hasMVEIntegerOps() || !EnableTailPredication) | ||||
return TailFoldingStyle::DataWithoutLaneMask; | return TailFoldingStyle::DataWithoutLaneMask; | ||||
// Intrinsic @llvm.get.active.lane.mask is supported. | // Intrinsic @llvm.get.active.lane.mask is supported. | ||||
// It is used in the MVETailPredication pass, which requires the number of | // It is used in the MVETailPredication pass, which requires the number of | ||||
// elements processed by this vector loop to setup the tail-predicated | // elements processed by this vector loop to setup the tail-predicated | ||||
// loop. | // loop. | ||||
return TailFoldingStyle::Data; | return TailFoldingStyle::Data; | ||||
▲ Show 20 Lines • Show All 159 Lines • Show Last 20 Lines |