Home
last modified time | relevance | path

Searched refs:LaneBitmask (Results 1 – 25 of 61) sorted by relevance

123

/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/MC/
H A DLaneBitmask.h40 struct LaneBitmask { struct
46 constexpr LaneBitmask() = default; argument
57 return LaneBitmask(~Mask);
59 constexpr LaneBitmask operator|(LaneBitmask M) const {
60 return LaneBitmask(Mask | M.Mask);
62 constexpr LaneBitmask operator&(LaneBitmask M) const {
63 return LaneBitmask(Mask & M.Mask);
65 LaneBitmask &operator|=(LaneBitmask M) {
69 LaneBitmask &operator&=(LaneBitmask M) {
81 static constexpr LaneBitmask getNone() { return LaneBitmask(0); } in getNone() argument
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DDetectDeadLanes.h47 LaneBitmask UsedLanes;
48 LaneBitmask DefinedLanes;
69 void addUsedLanesOnOperand(const MachineOperand &MO, LaneBitmask UsedLanes);
74 void transferUsedLanesStep(const MachineInstr &MI, LaneBitmask UsedLanes);
80 LaneBitmask DefinedLanes);
86 LaneBitmask transferDefinedLanes(const MachineOperand &Def, unsigned OpNum,
87 LaneBitmask DefinedLanes) const;
91 LaneBitmask transferUsedLanes(const MachineInstr &MI, LaneBitmask UsedLanes,
95 LaneBitmask determineInitialDefinedLanes(unsigned Reg);
96 LaneBitmask determineInitialUsedLanes(unsigned Reg);
H A DRegisterPressure.h40 LaneBitmask LaneMask;
265 LaneBitmask LaneMask;
296 LaneBitmask contains(Register Reg) const { in contains()
300 return LaneBitmask::getNone(); in contains()
306 LaneBitmask insert(RegisterMaskPair Pair) { in insert()
314 return LaneBitmask::getNone(); in insert()
319 LaneBitmask erase(RegisterMaskPair Pair) { in erase()
323 return LaneBitmask::getNone(); in erase()
324 LaneBitmask PrevMask = I->LaneMask; in erase()
543 LaneBitmask NewMask);
[all …]
H A DTargetRegisterInfo.h55 const LaneBitmask LaneMask;
209 LaneBitmask getLaneMask() const { in getLaneMask()
248 const LaneBitmask *SubRegIndexLaneMasks;
251 LaneBitmask CoveringLanes;
261 const LaneBitmask *SRILaneMasks,
262 LaneBitmask CoveringLanes,
387 LaneBitmask getSubRegIndexLaneMask(unsigned SubIdx) const { in getSubRegIndexLaneMask()
398 LaneBitmask LaneMask,
684 LaneBitmask composeSubRegIndexLaneMask(unsigned IdxA, in composeSubRegIndexLaneMask()
698 LaneBitmask reverseComposeSubRegIndexLaneMask(unsigned IdxA, in reverseComposeSubRegIndexLaneMask()
[all …]
H A DRDFRegisters.h90 LaneBitmask Mask = LaneBitmask::getNone(); // Only for registers.
94 LaneBitmask M = LaneBitmask::getAll())
95 : Reg(R), Mask(isRegId(R) && R != 0 ? M : LaneBitmask::getNone()) {} in Reg()
110 std::hash<LaneBitmask::Type>{}(Mask.getAsInteger()); in hash()
187 LaneBitmask Mask;
239 using MapType = std::map<RegisterId, LaneBitmask>;
317 PrintLaneMaskShort(LaneBitmask M) : Mask(M) {} in PrintLaneMaskShort()
318 LaneBitmask Mask;
H A DLiveIntervalCalc.h39 void extendToUses(LiveRange &LR, Register Reg, LaneBitmask LaneMask,
55 extendToUses(LR, PhysReg, LaneBitmask::getAll()); in extendToUses()
H A DScheduleDAGInstrs.h55 LaneBitmask LaneMask;
58 VReg2SUnit(unsigned VReg, LaneBitmask LaneMask, SUnit *SU) in VReg2SUnit()
70 VReg2SUnitOperIdx(unsigned VReg, LaneBitmask LaneMask, in VReg2SUnitOperIdx()
374 LaneBitmask getLaneMaskForMO(const MachineOperand &MO) const;
H A DRegisterScavenging.h147 void setRegUsed(Register Reg, LaneBitmask LaneMask = LaneBitmask::getAll());
H A DLiveRegUnits.h93 void addRegMasked(MCPhysReg Reg, LaneBitmask Mask) { in addRegMasked()
95 LaneBitmask UnitMask = (*Unit).second; in addRegMasked()
H A DLiveInterval.h697 LaneBitmask LaneMask;
700 SubRange(LaneBitmask LaneMask) : LaneMask(LaneMask) {} in SubRange()
703 SubRange(LaneBitmask LaneMask, const LiveRange &Other, in SubRange()
787 LaneBitmask LaneMask) { in createSubRange()
796 LaneBitmask LaneMask, in createSubRangeFrom()
828 LaneBitmask LaneMask,
871 void refineSubRanges(BumpPtrAllocator &Allocator, LaneBitmask LaneMask,
/freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/
H A DRegisterPressure.cpp52 LaneBitmask PrevMask, LaneBitmask NewMask) { in increaseSetPressure()
66 LaneBitmask PrevMask, LaneBitmask NewMask) { in decreaseSetPressure()
376 return LaneBitmask::getNone(); in getRegLanes()
420 static LaneBitmask
427 LaneBitmask Result; in getLanesWithProperty()
445 return Property(*LR, Pos) ? LaneBitmask::getAll() : LaneBitmask::getNone(); in getLanesWithProperty()
720 LaneBitmask PrevMask; in discoverLiveInOrOut()
721 LaneBitmask NewMask; in discoverLiveInOrOut()
723 PrevMask = LaneBitmask::getNone(); in discoverLiveInOrOut()
1065 LaneBitmask DefLanes = P.LaneMask; in bumpUpwardPressure()
[all …]
H A DDetectDeadLanes.cpp144 LaneBitmask
163 LaneBitmask MO2UsedLanes = in transferUsedLanes()
171 LaneBitmask MO1UsedLanes; in transferUsedLanes()
272 return LaneBitmask::getAll(); in determineInitialDefinedLanes()
284 return LaneBitmask::getNone(); in determineInitialDefinedLanes()
292 LaneBitmask DefinedLanes; in determineInitialDefinedLanes()
300 LaneBitmask MODefinedLanes; in determineInitialDefinedLanes()
302 MODefinedLanes = LaneBitmask::getAll(); in determineInitialDefinedLanes()
304 MODefinedLanes = LaneBitmask::getAll(); in determineInitialDefinedLanes()
326 return LaneBitmask::getNone(); in determineInitialDefinedLanes()
[all …]
H A DLiveIntervalCalc.cpp60 LaneBitmask SubMask = SubReg != 0 ? TRI.getSubRegIndexLaneMask(SubReg) in calculate()
65 LaneBitmask ClassMask = MRI->getMaxLaneMaskForVReg(Reg); in calculate()
102 extendToUses(LI, Reg, LaneBitmask::getAll()); in calculate()
120 extendToUses(MainRange, LI.reg(), LaneBitmask::getAll(), &LI); in constructMainRangeFromSubranges()
136 LaneBitmask Mask, LiveInterval *LI) { in extendToUses()
160 LaneBitmask SLM = TRI.getSubRegIndexLaneMask(SubReg); in extendToUses()
H A DRDFRegisters.cpp57 UnitInfos[U].Mask = LaneBitmask::getAll(); in PhysicalRegisterInfo()
61 std::pair<uint32_t, LaneBitmask> P = *I; in PhysicalRegisterInfo()
172 LaneBitmask RCM = in mapTo()
173 RI.RegClass ? RI.RegClass->LaneMask : LaneBitmask::getAll(); in mapTo()
174 LaneBitmask M = TRI.reverseComposeSubRegIndexLaneMask(Idx, RR.Mask); in mapTo()
284 std::pair<uint32_t, LaneBitmask> P = *U; in hasAliasOf()
299 std::pair<uint32_t, LaneBitmask> P = *U; in hasCoverOf()
314 std::pair<uint32_t, LaneBitmask> P = *U; in insert()
385 LaneBitmask M; in makeRegRef()
387 std::pair<uint32_t, LaneBitmask> P = *I; in makeRegRef()
[all …]
H A DRegisterCoalescer.cpp158 LaneBitmask ShrinkMask;
988 LaneBitmask MaskA; in removeCopyByCommutingDef()
2031 LaneBitmask PrunedLanes; in joinCopy()
2099 ShrinkMask = LaneBitmask::getNone(); in joinCopy()
2419 const LaneBitmask LaneMask;
2477 LaneBitmask WriteLanes;
2481 LaneBitmask ValidLanes;
2651 LaneBitmask L; in computeWriteLanes()
2746 V.WriteLanes = LaneBitmask::getAll(); in analyzeValue()
2754 LaneBitmask Lanes = SubRangeJoin ? LaneBitmask::getLane(0) in analyzeValue()
[all …]
H A DLiveInterval.cpp873 LaneBitmask LaneMask, in stripValuesNotDefiningMask()
899 LaneBitmask ExpectedDefMask = in stripValuesNotDefiningMask()
920 BumpPtrAllocator &Allocator, LaneBitmask LaneMask, in refineSubRanges()
924 LaneBitmask ToApply = LaneMask; in refineSubRanges()
926 LaneBitmask SRMask = SR.LaneMask; in refineSubRanges()
927 LaneBitmask Matching = SRMask & LaneMask; in refineSubRanges()
966 LaneBitmask LaneMask, in computeSubRangeUndefs()
970 LaneBitmask VRegMask = MRI.getMaxLaneMaskForVReg(reg()); in computeSubRangeUndefs()
978 LaneBitmask DefMask = TRI.getSubRegIndexLaneMask(SubReg); in computeSubRangeUndefs()
979 LaneBitmask UndefMask = VRegMask & ~DefMask; in computeSubRangeUndefs()
[all …]
H A DScheduleDAGInstrs.cpp382 return LaneBitmask::getAll(); in getLaneMaskForMO()
408 LaneBitmask DefLaneMask; in addVRegDefDeps()
409 LaneBitmask KillLaneMask; in addVRegDefDeps()
432 DefLaneMask = LaneBitmask::getAll(); in addVRegDefDeps()
433 KillLaneMask = LaneBitmask::getAll(); in addVRegDefDeps()
443 LaneBitmask LaneMask = I->LaneMask; in addVRegDefDeps()
481 LaneBitmask LaneMask = DefLaneMask; in addVRegDefDeps()
504 LaneBitmask OverlapMask = V2SU.LaneMask & LaneMask; in addVRegDefDeps()
505 LaneBitmask NonOverlapMask = V2SU.LaneMask & ~LaneMask; in addVRegDefDeps()
530 LaneBitmask LaneMask = TrackLaneMasks ? getLaneMaskForMO(MO) in addVRegUseDeps()
[all …]
H A DLiveIntervals.cpp371 auto getSubRange = [](const LiveInterval &I, LaneBitmask M) in extendSegmentsToUses()
491 extendSegmentsToUses(NewLR, WorkList, Reg, LaneBitmask::getNone()); in shrinkToUses()
561 LaneBitmask LaneMask = TRI->getSubRegIndexLaneMask(SubReg); in shrinkToUses()
755 LaneBitmask DefinedLanesMask; in addKillFlags()
758 DefinedLanesMask = LaneBitmask::getNone(); in addKillFlags()
769 DefinedLanesMask = LaneBitmask::getAll(); in addKillFlags()
1028 updateRange(LI, Reg, LaneBitmask::getNone()); in updateAllRanges()
1055 updateRange(*LR, Unit, LaneBitmask::getNone()); in updateAllRanges()
1444 LaneBitmask LaneMask) { in findLastUseBefore()
1557 LaneBitmask LaneMask) { in repairOldRegInRange()
[all …]
H A DMachineInstrBundle.cpp308 std::pair<LaneBitmask, LaneBitmask>
313 LaneBitmask UseMask, DefMask; in AnalyzeVirtRegLanesInBundle()
324 LaneBitmask SubRegMask = TRI.getSubRegIndexLaneMask(SubReg); in AnalyzeVirtRegLanesInBundle()
H A DTargetRegisterInfo.cpp56 const LaneBitmask *SRILaneMasks, in TargetRegisterInfo()
57 LaneBitmask SRICoveringLanes, in TargetRegisterInfo()
526 LaneBitmask LaneMask, SmallVectorImpl<unsigned> &NeededIndexes) const { in getCoveringSubRegIndexes()
535 LaneBitmask SubRegMask = getSubRegIndexLaneMask(Idx); in getCoveringSubRegIndexes()
562 LaneBitmask LanesLeft = LaneMask & ~getSubRegIndexLaneMask(BestIdx); in getCoveringSubRegIndexes()
567 LaneBitmask SubRegMask = getSubRegIndexLaneMask(Idx); in getCoveringSubRegIndexes()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DGCNRegPressure.cpp51 LaneBitmask PrevMask, in inc()
52 LaneBitmask NewMask, in inc()
186 LaneBitmask UseMask; in collectVirtualRegUses()
214 LaneBitmask LiveMask; in getLiveLaneMask()
298 LaneBitmask &LiveMask = I->second; in recede()
299 LaneBitmask PrevMask = LiveMask; in recede()
316 LaneBitmask &LiveMask = LiveRegs[U.RegUnit]; in recede()
317 LaneBitmask PrevMask = LiveMask; in recede()
514 static LaneBitmask
517 LaneBitmask Mask = LaneBitmask::getAll()) { in getRegLiveThroughMask()
[all …]
H A DGCNRegPressure.h69 LaneBitmask PrevMask,
70 LaneBitmask NewMask,
136 using LiveRegSet = DenseMap<unsigned, LaneBitmask>;
250 LaneBitmask getLiveLaneMask(unsigned Reg,
255 LaneBitmask getLiveLaneMask(const LiveInterval &LI, SlotIndex SI,
322 Res.inc(RM.first, LaneBitmask::getNone(), RM.second, MRI); in getRegPressure()
H A DSIFormMemoryClauses.cpp35 typedef DenseMap<unsigned, std::pair<unsigned, LaneBitmask>> RegUse;
176 LaneBitmask Mask = TRI->getSubRegIndexLaneMask(MO.getSubReg()); in canBundle()
225 LaneBitmask Mask = Reg.isVirtual() in collectRegUses()
227 : LaneBitmask::getAll(); in collectRegUses()
360 LaneBitmask KilledMask; in runOnMachineFunction()
/freebsd-14.2/contrib/llvm-project/llvm/utils/TableGen/
H A DCodeGenRegisters.h53 LaneBitmask Mask;
74 mutable LaneBitmask LaneMask;
136 LaneBitmask computeLaneMask() const;
231 typedef SmallVector<LaneBitmask, 16> RegUnitLaneMaskList;
240 ArrayRef<LaneBitmask> getRegUnitLaneMasks() const { in getRegUnitLaneMasks()
342 LaneBitmask LaneMask;
845 LaneBitmask CoveringLanes;
H A DCodeGenRegisters.cpp108 LaneMask = LaneBitmask::getAll(); in computeLaneMask()
111 LaneBitmask M; in computeLaneMask()
1526 CoveringLanes = LaneBitmask::getAll(); in computeSubRegLaneMasks()
1529 if (Bit > LaneBitmask::BitWidth) { in computeSubRegLaneMasks()
1537 Idx.LaneMask = LaneBitmask::getNone(); in computeSubRegLaneMasks()
1573 LaneBitmask SrcMask = LaneBitmask::getLane(SrcBit); in computeSubRegLaneMasks()
1574 if (NextBit < LaneBitmask::BitWidth-1) in computeSubRegLaneMasks()
1594 SrcMask = LaneBitmask::getNone(); in computeSubRegLaneMasks()
1624 LaneBitmask Mask = Idx.computeLaneMask(); in computeSubRegLaneMasks()
1633 LaneBitmask LaneMask; in computeSubRegLaneMasks()
[all …]

123