Lines Matching refs:RDA

263                                       ReachingDefAnalysis &RDA) {  in hasImplicitlyValidVPT()  argument
273 MachineInstr *Op = RDA.getMIOperand(MI, MI->getOperand(Idx)); in hasImplicitlyValidVPT()
283 RDA.getGlobalReachingDefs(MI, MO.getReg(), Defs); in hasImplicitlyValidVPT()
300 static bool isValid(ReachingDefAnalysis &RDA) { in isValid() argument
306 hasImplicitlyValidVPT(Block, RDA)) in isValid()
361 ReachingDefAnalysis &RDA; member
378 ReachingDefAnalysis &RDA, const TargetRegisterInfo &TRI, in LowOverheadLoop()
380 : ML(ML), MLI(MLI), RDA(RDA), TRI(TRI), TII(TII), in LowOverheadLoop()
471 ReachingDefAnalysis *RDA = nullptr; member in __anon88abca160111::ARMLowOverheadLoops
535 static bool TryRemove(MachineInstr *MI, ReachingDefAnalysis &RDA, in INITIALIZE_PASS()
540 auto WontCorruptITs = [](InstSet &Killed, ReachingDefAnalysis &RDA) { in INITIALIZE_PASS() argument
552 RDA.getReachingLocalUses(&IT, MCRegister::from(ARM::ITSTATE), in INITIALIZE_PASS()
563 MachineInstr *IT = RDA.getMIOperand(Dead, *MO); in INITIALIZE_PASS()
580 if (!RDA.isSafeToRemove(MI, Uses, Ignore)) in INITIALIZE_PASS()
583 if (WontCorruptITs(Uses, RDA)) { in INITIALIZE_PASS()
591 RDA.collectKilledOperands(MI, Killed); in INITIALIZE_PASS()
592 if (WontCorruptITs(Killed, RDA)) { in INITIALIZE_PASS()
619 if (!VPTState::isValid(RDA)) { in ValidateTailPredicate()
646 if (RDA.hasLocalDefBefore(VCTP, NumElements)) { in ValidateTailPredicate()
656 !RDA.isReachingDefLiveOut(&*StartInsertPt, NumElements)) { in ValidateTailPredicate()
658 RDA.getLocalLiveOutMIDef(StartInsertBB, NumElements)) { in ValidateTailPredicate()
659 if (RDA.isSafeToMoveForwards(ElemDef, &*StartInsertPt)) { in ValidateTailPredicate()
664 } else if (RDA.isSafeToMoveBackwards(&*StartInsertPt, ElemDef)) { in ValidateTailPredicate()
675 RDA.getUniqueReachingMIDef(ElemDef, Operand.getReg().asMCReg()) == in ValidateTailPredicate()
676 RDA.getUniqueReachingMIDef(&*StartInsertPt, in ValidateTailPredicate()
698 if (RDA.hasLocalDefBefore(&MBB->back(), NumElements)) in ValidateTailPredicate()
746 if (auto *Def = RDA.getUniqueReachingMIDef( in ValidateTailPredicate()
754 if (TryRemove(Def, RDA, ElementChain, Ignore)) { in ValidateTailPredicate()
784 !RDA.hasLocalDefBefore(VCTP, VCTP->getOperand(1).getReg())) { in ValidateTailPredicate()
785 if (auto *Def = RDA.getUniqueReachingMIDef( in ValidateTailPredicate()
789 TryRemove(Def, RDA, ToRemove, Ignore); in ValidateTailPredicate()
860 const ReachingDefAnalysis &RDA, in producesFalseLanesZero() argument
889 RDA.getGlobalReachingDefs(&MI, MO.getReg(), Defs); in producesFalseLanesZero()
943 if (producesFalseLanesZero(MI, QPRs, RDA, FalseLanesZero)) in ValidateLiveOuts()
956 RDA.getGlobalUses(MI, MO.getReg().asMCReg(), Uses); in ValidateLiveOuts()
1001 if (auto *MI = RDA.getLocalLiveOutMIDef(Header, RegMask.PhysReg)) in ValidateLiveOuts()
1078 !RDA.hasSameReachingDef(Prev, MI, MI->getOperand(1).getReg().asMCReg())) { in AddVCTP()
1252 RDA = &getAnalysis<ReachingDefAnalysis>(); in runOnMachineFunction()
1301 LowOverheadLoop LoLoop(*ML, *MLI, *RDA, *TRI, *TII); in ProcessLoop()
1353 RDA->getReachingLocalUses(LoLoop.Dec, MCRegister::from(ARM::LR), Uses); in ProcessLoop()
1395 RDA->isSafeToDefRegAt(MI, MCRegister::from(ARM::CPSR), Ignore); in RevertLoopDec()
1471 MachineInstr *Def = RDA->getMIOperand(LoLoop.Start, 1); in IterationCountDCE()
1480 if (!TryRemove(Def, *RDA, LoLoop.ToRemove, Killed)) in IterationCountDCE()
1631 MachineInstr *VprDef = RDA->getUniqueReachingMIDef(VPST, ARM::VPR); in ConvertVPTBlocks()
1642 RDA->hasSameReachingDef(VCMP, VPST, VCMP->getOperand(1).getReg()) && in ConvertVPTBlocks()
1643 RDA->hasSameReachingDef(VCMP, VPST, VCMP->getOperand(2).getReg())) { in ConvertVPTBlocks()
1734 RDA->reset(); in Expand()