[PATCH] D90591: [ARM] Introduce t2DoLoopStartTP

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 9 07:23:02 PST 2020


dmgreen added inline comments.


================
Comment at: llvm/lib/Target/ARM/MVEVPTOptimisationsPass.cpp:189
+  int PredOp = findFirstVPTPredOperandIdx(*FirstVCTP);
+  if (FirstVCTP->getOperand(PredOp).getImm() != ARMVCC::None)
+    return false;
----------------
samparker wrote:
> What about only checking that it's not predicated in the case where there's more than one VCTP? At least then we can handle the VPT -> VCTP case.
Would the backend pass handle multiple VCTP's in different blocks? If so we could just remove the check.

I've done that here, but can add it back in if you think it might cause problems.


================
Comment at: llvm/lib/Target/ARM/MVEVPTOptimisationsPass.cpp:230
+  // in the preheader, but may need to move that earlier based on uses.
+  MachineBasicBlock *MBB = LoopStart->getParent();
+  MachineBasicBlock::iterator InsertPt = MBB->getFirstTerminator();
----------------
samparker wrote:
> I don't follow what's happening here, what uses could there be which we need to schedule for?
There can be COPY's between the LoopStart and the PHI.


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

https://reviews.llvm.org/D90591



More information about the llvm-commits mailing list