Lines Matching refs:RDA
270 ReachingDefAnalysis &RDA) { in hasImplicitlyValidVPT() argument
280 MachineInstr *Op = RDA.getMIOperand(MI, MI->getOperand(Idx)); in hasImplicitlyValidVPT()
290 RDA.getGlobalReachingDefs(MI, MO.getReg(), Defs); in hasImplicitlyValidVPT()
307 static bool isValid(ReachingDefAnalysis &RDA) { in isValid() argument
313 hasImplicitlyValidVPT(Block, RDA)) in isValid()
365 ReachingDefAnalysis &RDA; member
384 ReachingDefAnalysis &RDA, const TargetRegisterInfo &TRI, in LowOverheadLoop()
386 : ML(ML), MLI(MLI), RDA(RDA), TRI(TRI), TII(TII), in LowOverheadLoop()
477 ReachingDefAnalysis *RDA = nullptr; member in __anon59c8a0920111::ARMLowOverheadLoops
541 static bool TryRemove(MachineInstr *MI, ReachingDefAnalysis &RDA, in INITIALIZE_PASS()
546 auto WontCorruptITs = [](InstSet &Killed, ReachingDefAnalysis &RDA) { in INITIALIZE_PASS() argument
558 RDA.getReachingLocalUses(&IT, MCRegister::from(ARM::ITSTATE), in INITIALIZE_PASS()
569 MachineInstr *IT = RDA.getMIOperand(Dead, *MO); in INITIALIZE_PASS()
586 if (!RDA.isSafeToRemove(MI, Uses, Ignore)) in INITIALIZE_PASS()
589 if (WontCorruptITs(Uses, RDA)) { in INITIALIZE_PASS()
597 RDA.collectKilledOperands(MI, Killed); in INITIALIZE_PASS()
598 if (WontCorruptITs(Killed, RDA)) { in INITIALIZE_PASS()
625 if (!VPTState::isValid(RDA)) { in ValidateTailPredicate()
652 if (RDA.hasLocalDefBefore(VCTP, NumElements)) { in ValidateTailPredicate()
662 !RDA.isReachingDefLiveOut(&*StartInsertPt, NumElements)) { in ValidateTailPredicate()
664 RDA.getLocalLiveOutMIDef(StartInsertBB, NumElements)) { in ValidateTailPredicate()
665 if (RDA.isSafeToMoveForwards(ElemDef, &*StartInsertPt)) { in ValidateTailPredicate()
670 } else if (RDA.isSafeToMoveBackwards(&*StartInsertPt, ElemDef)) { in ValidateTailPredicate()
681 RDA.getUniqueReachingMIDef(ElemDef, Operand.getReg().asMCReg()) == in ValidateTailPredicate()
682 RDA.getUniqueReachingMIDef(&*StartInsertPt, in ValidateTailPredicate()
704 if (RDA.hasLocalDefBefore(&MBB->back(), NumElements)) in ValidateTailPredicate()
766 if (auto *Def = RDA.getUniqueReachingMIDef( in ValidateTailPredicate()
774 if (TryRemove(Def, RDA, ElementChain, Ignore)) { in ValidateTailPredicate()
804 !RDA.hasLocalDefBefore(VCTP, VCTP->getOperand(1).getReg())) { in ValidateTailPredicate()
805 if (auto *Def = RDA.getUniqueReachingMIDef( in ValidateTailPredicate()
809 TryRemove(Def, RDA, ToRemove, Ignore); in ValidateTailPredicate()
880 const ReachingDefAnalysis &RDA, in producesFalseLanesZero() argument
913 RDA.getGlobalReachingDefs(&MI, MO.getReg(), Defs); in producesFalseLanesZero()
969 if (producesFalseLanesZero(MI, QPRs, RDA, FalseLanesZero)) in ValidateLiveOuts()
995 RDA.getGlobalUses(MI, MO.getReg().asMCReg(), Uses); in ValidateLiveOuts()
1042 if (auto *MI = RDA.getLocalLiveOutMIDef(Header, RegMask.PhysReg)) in ValidateLiveOuts()
1059 RDA.getUniqueReachingMIDef(MI, MI->getOperand(1).getReg()); in ValidateLiveOuts()
1129 !RDA.hasSameReachingDef(Prev, MI, MI->getOperand(1).getReg().asMCReg())) { in AddVCTP()
1310 RDA = &getAnalysis<ReachingDefAnalysis>(); in runOnMachineFunction()
1359 LowOverheadLoop LoLoop(*ML, *MLI, *RDA, *TRI, *TII); in ProcessLoop()
1411 RDA->getReachingLocalUses(LoLoop.Dec, MCRegister::from(ARM::LR), Uses); in ProcessLoop()
1453 RDA->isSafeToDefRegAt(MI, MCRegister::from(ARM::CPSR), Ignore); in RevertLoopDec()
1529 MachineInstr *Def = RDA->getMIOperand(LoLoop.Start, 1); in IterationCountDCE()
1538 if (!TryRemove(Def, *RDA, LoLoop.ToRemove, Killed)) in IterationCountDCE()
1689 MachineInstr *VprDef = RDA->getUniqueReachingMIDef(VPST, ARM::VPR); in ConvertVPTBlocks()
1700 RDA->hasSameReachingDef(VCMP, VPST, VCMP->getOperand(1).getReg()) && in ConvertVPTBlocks()
1701 RDA->hasSameReachingDef(VCMP, VPST, VCMP->getOperand(2).getReg())) { in ConvertVPTBlocks()
1818 RDA->reset(); in Expand()