[PATCH] D69845: [ARM][MVE] WIP: canTailPredicateLoop

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 5 08:01:04 PST 2019


samparker added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp:1004
+static bool canTailPredicateInstruction(Instruction &I) {
+  if (dyn_cast<CallInst>(&I) ||
+      dyn_cast<IntrinsicInst>(&I) ||
----------------
- isHardwareLoopProfitable will already catch these and tries quite hard to get it right.
- isa<> not dyn_cast.
- The zext and truncs could likely be folded into memory options, so you're gonna need to check the uses / users.
- sext would be the same.


================
Comment at: llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp:1016
+
+static bool getLoopControlInstructions(SmallSet<Instruction*, 4> &LoopControl,
+                                       Loop *L, ScalarEvolution &SE) {
----------------
If we're checking for casts within the loop, I don't see why this is necessary, because we shouldn't then also have to then check all the types used.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69845/new/

https://reviews.llvm.org/D69845





More information about the llvm-commits mailing list