Skip to content

Commit 61b8af0

Browse files
committed
[ARM] Allow fma in tail predicated loops
There are some intrinsics like this that currently block tail predication, but should be fine. This allows fma through, as the one that I ran into. There may be others that need the same treatment but I've only done this one here. Differential Revision: https://reviews.llvm.org/D78385
1 parent ff5264f commit 61b8af0

File tree

2 files changed

+96
-244
lines changed

2 files changed

+96
-244
lines changed

llvm/lib/Target/ARM/MVETailPredication.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,8 @@ bool MVETailPredication::IsPredicatedVectorLoop() {
355355
return false;
356356
MaskedInsts.push_back(cast<IntrinsicInst>(&I));
357357
} else if (auto *Int = dyn_cast<IntrinsicInst>(&I)) {
358+
if (Int->getIntrinsicID() == Intrinsic::fma)
359+
continue;
358360
for (auto &U : Int->args()) {
359361
if (isa<VectorType>(U->getType()))
360362
return false;

0 commit comments

Comments
 (0)