[PATCH] D79001: [ARM][MVE] Tail-predication: support nested loops with dependent iterators.
Sam Parker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 28 07:29:11 PDT 2020
samparker added inline comments.
================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:552
+ // nested loops with loop iterators that are independent of each other.
+ if (!dyn_cast<Instruction>(TCP.NumElements)) {
+ dbgs() << "it's a value: done!\n";
----------------
I don't follow what the importance is here between a Value and an Instruction. Why couldn't a single nested loop have NumElements calculated by an instruction?
================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:553
+ if (!dyn_cast<Instruction>(TCP.NumElements)) {
+ dbgs() << "it's a value: done!\n";
+ if (!MatchElemCountLoopSetup(L, TCP.Shuffle, TCP.NumElements))
----------------
Missing LLVM_DEBUG macro.
================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:573
+ // will be safe because if these values don't match, we bail and don't peform
+ // tail-predication.
+ LLVM_DEBUG(dbgs() << "ARM TP: Matching scalar TC: "; TCP.NumElements->dump());
----------------
I think it would be more informative to explain most of this using SCEV expression examples, I'm struggling to understand what's happening here.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79001/new/
https://reviews.llvm.org/D79001
More information about the llvm-commits
mailing list