Lines Matching defs:UsedLanes

55   LaneBitmask UsedLanes;
77 void addUsedLanesOnOperand(const MachineOperand &MO, LaneBitmask UsedLanes);
79 /// Given a bitmask \p UsedLanes for the used lanes on a def output of a
82 void transferUsedLanesStep(const MachineInstr &MI, LaneBitmask UsedLanes);
96 /// Given a mask \p UsedLanes used from the output of instruction \p MI
98 LaneBitmask transferUsedLanes(const MachineInstr &MI, LaneBitmask UsedLanes,
197 LaneBitmask UsedLanes) {
206 UsedLanes = TRI->composeSubRegIndexLaneMask(MOSubReg, UsedLanes);
207 UsedLanes &= MRI->getMaxLaneMaskForVReg(MOReg);
211 LaneBitmask PrevUsedLanes = MORegInfo.UsedLanes;
213 if ((UsedLanes & ~PrevUsedLanes) == 0)
216 // Set UsedLanes and remember instruction for further propagation.
217 MORegInfo.UsedLanes = PrevUsedLanes | UsedLanes;
223 LaneBitmask UsedLanes) {
227 LaneBitmask UsedOnMO = transferUsedLanes(MI, UsedLanes, MO);
233 LaneBitmask UsedLanes,
242 return UsedLanes;
246 return TRI->reverseComposeSubRegIndexLaneMask(SubIdx, UsedLanes);
251 TRI->reverseComposeSubRegIndexLaneMask(SubIdx, UsedLanes);
260 MO1UsedLanes = UsedLanes & ~TRI->getSubRegIndexLaneMask(SubIdx);
270 return TRI->composeSubRegIndexLaneMask(SubIdx, UsedLanes);
421 LaneBitmask UsedLanes = 0;
456 UsedLanes |= TRI->getSubRegIndexLaneMask(SubReg);
458 return UsedLanes;
465 return (RegInfo.DefinedLanes & RegInfo.UsedLanes & Mask) == 0;
484 LaneBitmask UsedLanes = transferUsedLanes(MI, DefRegInfo.UsedLanes, MO);
485 if (UsedLanes != 0)
505 Info.UsedLanes = determineInitialUsedLanes(Reg);
516 // Transfer UsedLanes to operands of DefMI (backwards dataflow).
519 transferUsedLanesStep(MI, Info.UsedLanes);
531 << " Used: " << PrintLaneMask(Info.UsedLanes)
549 if (MO.isDef() && !MO.isDead() && RegInfo.UsedLanes == 0) {