[PATCH] D72714: [ARM][MVE] Tail-Predication: rematerialise iteration count in exit blocks
Sam Parker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 15 07:47:36 PST 2020
samparker added a comment.
Good to see those looks finally loosing those subs and movs!
================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:141
+
+ if (!L->isRecursivelyLCSSAForm(*DT, *LI)) {
+ LLVM_DEBUG(dbgs() << "ARM TP: Loop is not in LCSSA form\n");
----------------
Do we know if the loop entering the pass are in LCSSA already? If so, it seems a little excessive to call this when we only have one instruction to fix up...
================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:228
+ if (TryConvert(Setup->getArgOperand(0))) {
+ RematerializeIterCount(L);
+ return true;
----------------
I'm pretty sure you only want to do this when you've cloned the vctp in an exit block.
================
Comment at: llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll:1000
; CHECK-NEXT: @ =>This Inner Loop Header: Depth=1
-; CHECK-NEXT: ldr r5, [r0, r4]
-; CHECK-NEXT: add.w r9, r0, r4
-; CHECK-NEXT: ldr r6, [r1, r4]
+; CHECK-NEXT: ldr r6, [r0, r4]
+; CHECK-NEXT: add.w r10, r0, r4
----------------
These changes seem unnecessary.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72714/new/
https://reviews.llvm.org/D72714
More information about the llvm-commits
mailing list