[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