Lines Matching refs:RDA

274                                       ReachingDefAnalysis &RDA) {  in hasImplicitlyValidVPT()  argument
284 MachineInstr *Op = RDA.getMIOperand(MI, MI->getOperand(Idx)); in hasImplicitlyValidVPT()
294 RDA.getGlobalReachingDefs(MI, MO.getReg(), Defs); in hasImplicitlyValidVPT()
311 static bool isValid(ReachingDefAnalysis &RDA) { in isValid() argument
317 hasImplicitlyValidVPT(Block, RDA)) in isValid()
369 ReachingDefAnalysis &RDA; member
388 ReachingDefAnalysis &RDA, const TargetRegisterInfo &TRI, in LowOverheadLoop()
390 : ML(ML), MLI(MLI), RDA(RDA), TRI(TRI), TII(TII), in LowOverheadLoop()
476 ReachingDefAnalysis *RDA = nullptr; member in __anon67cf66980111::ARMLowOverheadLoops
540 static bool TryRemove(MachineInstr *MI, ReachingDefAnalysis &RDA, in INITIALIZE_PASS()
545 auto WontCorruptITs = [](InstSet &Killed, ReachingDefAnalysis &RDA) { in INITIALIZE_PASS() argument
557 RDA.getReachingLocalUses(&IT, MCRegister::from(ARM::ITSTATE), in INITIALIZE_PASS()
568 MachineInstr *IT = RDA.getMIOperand(Dead, *MO); in INITIALIZE_PASS()
585 if (!RDA.isSafeToRemove(MI, Uses, Ignore)) in INITIALIZE_PASS()
588 if (WontCorruptITs(Uses, RDA)) { in INITIALIZE_PASS()
596 RDA.collectKilledOperands(MI, Killed); in INITIALIZE_PASS()
597 if (WontCorruptITs(Killed, RDA)) { in INITIALIZE_PASS()
624 if (!VPTState::isValid(RDA)) { in ValidateTailPredicate()
651 if (RDA.hasLocalDefBefore(VCTP, NumElements)) { in ValidateTailPredicate()
661 !RDA.isReachingDefLiveOut(&*StartInsertPt, NumElements)) { in ValidateTailPredicate()
663 RDA.getLocalLiveOutMIDef(StartInsertBB, NumElements)) { in ValidateTailPredicate()
664 if (RDA.isSafeToMoveForwards(ElemDef, &*StartInsertPt)) { in ValidateTailPredicate()
669 } else if (RDA.isSafeToMoveBackwards(&*StartInsertPt, ElemDef)) { in ValidateTailPredicate()
680 RDA.getUniqueReachingMIDef(ElemDef, Operand.getReg().asMCReg()) == in ValidateTailPredicate()
681 RDA.getUniqueReachingMIDef(&*StartInsertPt, in ValidateTailPredicate()
703 if (RDA.hasLocalDefBefore(&MBB->back(), NumElements)) in ValidateTailPredicate()
765 if (auto *Def = RDA.getUniqueReachingMIDef( in ValidateTailPredicate()
773 if (TryRemove(Def, RDA, ElementChain, Ignore)) { in ValidateTailPredicate()
803 !RDA.hasLocalDefBefore(VCTP, VCTP->getOperand(1).getReg())) { in ValidateTailPredicate()
804 if (auto *Def = RDA.getUniqueReachingMIDef( in ValidateTailPredicate()
808 TryRemove(Def, RDA, ToRemove, Ignore); in ValidateTailPredicate()
879 const ReachingDefAnalysis &RDA, in producesFalseLanesZero() argument
912 RDA.getGlobalReachingDefs(&MI, MO.getReg(), Defs); in producesFalseLanesZero()
970 if (producesFalseLanesZero(MI, QPRs, RDA, FalseLanesZero)) in ValidateLiveOuts()
996 RDA.getGlobalUses(MI, MO.getReg().asMCReg(), Uses); in ValidateLiveOuts()
1043 if (auto *MI = RDA.getLocalLiveOutMIDef(Header, RegMask.PhysReg)) in ValidateLiveOuts()
1060 RDA.getUniqueReachingMIDef(MI, MI->getOperand(1).getReg()); in ValidateLiveOuts()
1130 !RDA.hasSameReachingDef(Prev, MI, MI->getOperand(1).getReg().asMCReg())) { in AddVCTP()
1311 RDA = &getAnalysis<ReachingDefAnalysis>(); in runOnMachineFunction()
1360 LowOverheadLoop LoLoop(*ML, *MLI, *RDA, *TRI, *TII); in ProcessLoop()
1412 RDA->getReachingLocalUses(LoLoop.Dec, MCRegister::from(ARM::LR), Uses); in ProcessLoop()
1454 RDA->isSafeToDefRegAt(MI, MCRegister::from(ARM::CPSR), Ignore); in RevertLoopDec()
1530 MachineInstr *Def = RDA->getMIOperand(LoLoop.Start, 1); in IterationCountDCE()
1539 if (!TryRemove(Def, *RDA, LoLoop.ToRemove, Killed)) in IterationCountDCE()
1691 MachineInstr *VprDef = RDA->getUniqueReachingMIDef(VPST, ARM::VPR); in ConvertVPTBlocks()
1702 RDA->hasSameReachingDef(VCMP, VPST, VCMP->getOperand(1).getReg()) && in ConvertVPTBlocks()
1703 RDA->hasSameReachingDef(VCMP, VPST, VCMP->getOperand(2).getReg())) { in ConvertVPTBlocks()
1821 RDA->reset(); in Expand()