Home
last modified time | relevance | path

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

123

/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/MC/
HDLaneBitmask.h39 struct LaneBitmask { struct
45 constexpr LaneBitmask() = default; argument
46 explicit constexpr LaneBitmask(Type V) : Mask(V) {} in LaneBitmask() argument
48 constexpr bool operator== (LaneBitmask M) const { return Mask == M.Mask; }
49 constexpr bool operator!= (LaneBitmask M) const { return Mask != M.Mask; }
50 constexpr bool operator< (LaneBitmask M) const { return Mask < M.Mask; }
55 constexpr LaneBitmask operator~() const { argument
56 return LaneBitmask(~Mask);
58 constexpr LaneBitmask operator|(LaneBitmask M) const {
59 return LaneBitmask(Mask | M.Mask);
[all …]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/
HDDetectDeadLanes.cpp53 LaneBitmask UsedLanes;
54 LaneBitmask DefinedLanes;
75 void addUsedLanesOnOperand(const MachineOperand &MO, LaneBitmask UsedLanes);
80 void transferUsedLanesStep(const MachineInstr &MI, LaneBitmask UsedLanes);
86 LaneBitmask DefinedLanes);
91 LaneBitmask transferDefinedLanes(const MachineOperand &Def, unsigned OpNum,
92 LaneBitmask DefinedLanes) const;
96 LaneBitmask transferUsedLanes(const MachineInstr &MI, LaneBitmask UsedLanes,
101 LaneBitmask determineInitialDefinedLanes(unsigned Reg);
102 LaneBitmask determineInitialUsedLanes(unsigned Reg);
[all …]
HDRegisterPressure.cpp52 LaneBitmask PrevMask, LaneBitmask NewMask) { in increaseSetPressure()
66 LaneBitmask PrevMask, LaneBitmask NewMask) { in decreaseSetPressure()
156 LaneBitmask PreviousMask, in increaseRegPressure()
157 LaneBitmask NewMask) { in increaseRegPressure()
171 LaneBitmask PreviousMask, in decreaseRegPressure()
172 LaneBitmask NewMask) { in decreaseRegPressure()
367 LaneBitmask::getNone(), Pair.LaneMask); in initLiveThru()
371 static LaneBitmask getRegLanes(ArrayRef<RegisterMaskPair> RegUnits, in getRegLanes()
377 return LaneBitmask::getNone(); in getRegLanes()
401 RegUnits.push_back(RegisterMaskPair(RegUnit, LaneBitmask::getNone())); in setRegZero()
[all …]
HDRDFRegisters.cpp56 UnitInfos[U].Mask = LaneBitmask::getAll(); in PhysicalRegisterInfo()
60 std::pair<uint32_t,LaneBitmask> P = *I; in PhysicalRegisterInfo()
69 UI.Mask = LaneBitmask::getAll(); in PhysicalRegisterInfo()
140 std::pair<RegisterId,LaneBitmask> PA = *UMA; in aliasRR()
146 std::pair<RegisterId,LaneBitmask> PB = *UMB; in aliasRR()
169 if (RR.Mask == LaneBitmask::getAll()) in aliasRM()
180 LaneBitmask M = RR.Mask; in aliasRM()
182 LaneBitmask SM = TRI.getSubRegIndexLaneMask(SI.getSubRegIndex()); in aliasRM()
232 LaneBitmask RCM = RI.RegClass ? RI.RegClass->LaneMask in mapTo()
233 : LaneBitmask::getAll(); in mapTo()
[all …]
HDRegisterCoalescer.cpp150 LaneBitmask ShrinkMask;
243 LaneBitmask LaneMask, CoalescerPair &CP,
249 LaneBitmask LaneMask, const CoalescerPair &CP);
948 LaneBitmask Mask = MRI->getMaxLaneMaskForVReg(IntA.reg); in removeCopyByCommutingDef()
951 LaneBitmask Mask = MRI->getMaxLaneMaskForVReg(IntB.reg); in removeCopyByCommutingDef()
955 LaneBitmask MaskA; in removeCopyByCommutingDef()
1416 LaneBitmask MaxMask = MRI->getMaxLaneMaskForVReg(DstReg); in reMaterializeTrivialDef()
1440 LaneBitmask DstMask = TRI->getSubRegIndexLaneMask(NewIdx); in reMaterializeTrivialDef()
1563 LaneBitmask SrcMask = TRI->getSubRegIndexLaneMask(SrcSubIdx); in eliminateUndefCopy()
1602 LaneBitmask DstMask = TRI->getSubRegIndexLaneMask(DstSubIdx); in eliminateUndefCopy()
[all …]
HDLiveInterval.cpp884 LaneBitmask LaneMask, in stripValuesNotDefiningMask()
909 LaneBitmask OrigMask = TRI.getSubRegIndexLaneMask(MOI->getSubReg()); in stripValuesNotDefiningMask()
910 LaneBitmask ExpectedDefMask = in stripValuesNotDefiningMask()
931 BumpPtrAllocator &Allocator, LaneBitmask LaneMask, in refineSubRanges()
935 LaneBitmask ToApply = LaneMask; in refineSubRanges()
937 LaneBitmask SRMask = SR.LaneMask; in refineSubRanges()
938 LaneBitmask Matching = SRMask & LaneMask; in refineSubRanges()
977 LaneBitmask LaneMask, in computeSubRangeUndefs()
981 LaneBitmask VRegMask = MRI.getMaxLaneMaskForVReg(reg); in computeSubRangeUndefs()
989 LaneBitmask DefMask = TRI.getSubRegIndexLaneMask(SubReg); in computeSubRangeUndefs()
[all …]
HDScheduleDAGInstrs.cpp366 LaneBitmask ScheduleDAGInstrs::getLaneMaskForMO(const MachineOperand &MO) const in getLaneMaskForMO()
372 return LaneBitmask::getAll(); in getLaneMaskForMO()
398 LaneBitmask DefLaneMask; in addVRegDefDeps()
399 LaneBitmask KillLaneMask; in addVRegDefDeps()
405 KillLaneMask = IsKill ? LaneBitmask::getAll() : DefLaneMask; in addVRegDefDeps()
423 DefLaneMask = LaneBitmask::getAll(); in addVRegDefDeps()
424 KillLaneMask = LaneBitmask::getAll(); in addVRegDefDeps()
434 LaneBitmask LaneMask = I->LaneMask; in addVRegDefDeps()
472 LaneBitmask LaneMask = DefLaneMask; in addVRegDefDeps()
495 LaneBitmask OverlapMask = V2SU.LaneMask & LaneMask; in addVRegDefDeps()
[all …]
HDLiveIntervals.cpp367 unsigned Reg, LaneBitmask LaneMask) { in extendSegmentsToUses()
373 auto getSubRange = [](const LiveInterval &I, LaneBitmask M) in extendSegmentsToUses()
494 extendSegmentsToUses(NewLR, WorkList, Reg, LaneBitmask::getNone()); in shrinkToUses()
569 LaneBitmask LaneMask = TRI->getSubRegIndexLaneMask(SubReg); in shrinkToUses()
770 LaneBitmask DefinedLanesMask; in addKillFlags()
773 DefinedLanesMask = LaneBitmask::getNone(); in addKillFlags()
786 DefinedLanesMask = LaneBitmask::getAll(); in addKillFlags()
794 LaneBitmask UseMask = TRI->getSubRegIndexLaneMask(MO.getSubReg()); in addKillFlags()
1007 LaneBitmask LaneMask = SubReg ? TRI.getSubRegIndexLaneMask(SubReg) in updateAllRanges()
1015 updateRange(LI, Reg, LaneBitmask::getNone()); in updateAllRanges()
[all …]
HDLiveRangeCalc.cpp88 LaneBitmask SubMask = SubReg != 0 ? TRI.getSubRegIndexLaneMask(SubReg) in calculate()
93 LaneBitmask ClassMask = MRI->getMaxLaneMaskForVReg(Reg); in calculate()
127 extendToUses(LI, Reg, LaneBitmask::getAll()); in calculate()
144 extendToUses(MainRange, LI.reg, LaneBitmask::getAll(), &LI); in constructMainRangeFromSubranges()
156 void LiveRangeCalc::extendToUses(LiveRange &LR, unsigned Reg, LaneBitmask Mask, in extendToUses()
179 LaneBitmask SLM = TRI.getSubRegIndexLaneMask(SubReg); in extendToUses()
HDMachineVerifier.cpp252 LaneBitmask LaneMask) const;
258 void report_context_lanemask(LaneBitmask LaneMask) const;
267 LaneBitmask LaneMask = LaneBitmask::getNone());
271 LaneBitmask LaneMask = LaneBitmask::getNone());
282 LaneBitmask);
285 LaneBitmask);
287 LaneBitmask LaneMask = LaneBitmask::getNone());
528 LaneBitmask LaneMask) const { in report_context()
563 void MachineVerifier::report_context_lanemask(LaneBitmask LaneMask) const { in report_context_lanemask()
1871 LaneBitmask LaneMask) { in checkLivenessAtUse()
[all …]
HDSplitKit.h351 LiveInterval::SubRange &getSubRangeForMask(LaneBitmask LM, LiveInterval &LI);
418 LiveRange &LR, LaneBitmask LM,
434 SlotIndex buildCopy(unsigned FromReg, unsigned ToReg, LaneBitmask LaneMask,
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/
HDRegisterPressure.h41 LaneBitmask LaneMask;
43 RegisterMaskPair(unsigned RegUnit, LaneBitmask LaneMask) in RegisterMaskPair()
264 LaneBitmask LaneMask;
266 IndexMaskPair(unsigned Index, LaneBitmask LaneMask) in IndexMaskPair()
295 LaneBitmask contains(unsigned Reg) const { in contains()
299 return LaneBitmask::getNone(); in contains()
305 LaneBitmask insert(RegisterMaskPair Pair) { in insert()
309 LaneBitmask PrevMask = InsertRes.first->LaneMask; in insert()
313 return LaneBitmask::getNone(); in insert()
318 LaneBitmask erase(RegisterMaskPair Pair) { in erase()
[all …]
HDTargetRegisterInfo.h54 const LaneBitmask LaneMask;
203 LaneBitmask getLaneMask() const { in getLaneMask()
240 const LaneBitmask *SubRegIndexLaneMasks;
243 LaneBitmask CoveringLanes;
252 const LaneBitmask *SRILaneMasks,
253 LaneBitmask CoveringLanes,
348 LaneBitmask getSubRegIndexLaneMask(unsigned SubIdx) const { in getSubRegIndexLaneMask()
376 LaneBitmask getCoveringLanes() const { return CoveringLanes; } in getCoveringLanes()
579 LaneBitmask composeSubRegIndexLaneMask(unsigned IdxA, in composeSubRegIndexLaneMask()
580 LaneBitmask Mask) const { in composeSubRegIndexLaneMask()
[all …]
HDRDFRegisters.h73 LaneBitmask Mask = LaneBitmask::getNone();
76 explicit RegisterRef(RegisterId R, LaneBitmask M = LaneBitmask::getAll())
77 : Reg(R), Mask(R != 0 ? M : LaneBitmask::getNone()) {} in Reg()
140 LaneBitmask Mask;
185 using MapType = std::map<RegisterId, LaneBitmask>;
231 PrintLaneMaskOpt(LaneBitmask M) : Mask(M) {} in PrintLaneMaskOpt()
232 LaneBitmask Mask;
HDScheduleDAGInstrs.h54 LaneBitmask LaneMask;
57 VReg2SUnit(unsigned VReg, LaneBitmask LaneMask, SUnit *SU) in VReg2SUnit()
69 VReg2SUnitOperIdx(unsigned VReg, LaneBitmask LaneMask, in VReg2SUnitOperIdx()
377 LaneBitmask getLaneMaskForMO(const MachineOperand &MO) const;
HDMachineBasicBlock.h74 LaneBitmask LaneMask;
76 RegisterMaskPair(MCPhysReg PhysReg, LaneBitmask LaneMask)
316 LaneBitmask LaneMask = LaneBitmask::getAll()) {
338 LaneBitmask LaneMask = LaneBitmask::getAll());
342 LaneBitmask LaneMask = LaneBitmask::getAll()) const;
HDLiveInterval.h689 LaneBitmask LaneMask;
692 SubRange(LaneBitmask LaneMask) : LaneMask(LaneMask) {} in SubRange()
695 SubRange(LaneBitmask LaneMask, const LiveRange &Other, in SubRange()
775 LaneBitmask LaneMask) { in createSubRange()
784 LaneBitmask LaneMask, in createSubRangeFrom()
820 LaneBitmask LaneMask,
863 void refineSubRanges(BumpPtrAllocator &Allocator, LaneBitmask LaneMask,
HDLiveRangeCalc.h172 void extendToUses(LiveRange &LR, unsigned Reg, LaneBitmask LaneMask,
223 extendToUses(LR, PhysReg, LaneBitmask::getAll()); in extendToUses()
HDLiveRegUnits.h94 void addRegMasked(MCPhysReg Reg, LaneBitmask Mask) { in addRegMasked()
96 LaneBitmask UnitMask = (*Unit).second; in addRegMasked()
HDRegisterScavenging.h186 void setRegUsed(Register Reg, LaneBitmask LaneMask = LaneBitmask::getAll());
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
HDSIFormMemoryClauses.cpp41 typedef DenseMap<unsigned, std::pair<unsigned, LaneBitmask>> RegUse;
65 void forAllLanes(unsigned Reg, LaneBitmask LaneMask, Callable Func) const;
154 void SIFormMemoryClauses::forAllLanes(unsigned Reg, LaneBitmask LaneMask, in forAllLanes()
169 LaneBitmask SubRegMask = TRI->getSubRegIndexLaneMask(Idx); in forAllLanes()
183 LaneBitmask MaskA = TRI->getSubRegIndexLaneMask(A); in forAllLanes()
184 LaneBitmask MaskB = TRI->getSubRegIndexLaneMask(B); in forAllLanes()
193 LaneBitmask SubRegMask = TRI->getSubRegIndexLaneMask(Idx); in forAllLanes()
234 LaneBitmask Mask = TRI->getSubRegIndexLaneMask(MO.getSubReg()); in canBundle()
273 LaneBitmask Mask = Register::isVirtualRegister(Reg) in collectRegUses()
275 : LaneBitmask::getAll(); in collectRegUses()
HDGCNRegPressure.h60 LaneBitmask PrevMask,
61 LaneBitmask NewMask,
100 using LiveRegSet = DenseMap<unsigned, LaneBitmask>;
187 LaneBitmask getLiveLaneMask(unsigned Reg,
257 Res.inc(RM.first, LaneBitmask::getNone(), RM.second, MRI); in getRegPressure()
HDGCNRegPressure.cpp98 LaneBitmask PrevMask, in inc()
99 LaneBitmask NewMask, in inc()
198 static LaneBitmask getDefRegMask(const MachineOperand &MO, in getDefRegMask()
210 static LaneBitmask getUsedRegMask(const MachineOperand &MO, in getUsedRegMask()
219 if (MaxMask == LaneBitmask::getLane(0)) // cannot have subregs in getUsedRegMask()
256 LaneBitmask llvm::getLiveLaneMask(unsigned Reg, in getLiveLaneMask()
260 LaneBitmask LiveMask; in getLiveLaneMask()
390 It.second = LaneBitmask::getNone(); in advanceBeforeNext()
/freebsd-11-stable/contrib/llvm-project/llvm/utils/TableGen/
HDCodeGenRegisters.h51 LaneBitmask Mask;
72 mutable LaneBitmask LaneMask;
133 LaneBitmask computeLaneMask() const;
226 typedef SmallVector<LaneBitmask, 16> RegUnitLaneMaskList;
235 ArrayRef<LaneBitmask> getRegUnitLaneMasks() const { in getRegUnitLaneMasks()
335 LaneBitmask LaneMask;
785 LaneBitmask CoveringLanes;
HDCodeGenRegisters.cpp105 LaneBitmask CodeGenSubRegIndex::computeLaneMask() const { in computeLaneMask()
111 LaneMask = LaneBitmask::getAll(); in computeLaneMask()
114 LaneBitmask M; in computeLaneMask()
1428 CoveringLanes = LaneBitmask::getAll(); in computeSubRegLaneMasks()
1431 if (Bit > LaneBitmask::BitWidth) { in computeSubRegLaneMasks()
1436 Idx.LaneMask = LaneBitmask::getLane(Bit); in computeSubRegLaneMasks()
1439 Idx.LaneMask = LaneBitmask::getNone(); in computeSubRegLaneMasks()
1459 assert(Idx.LaneMask == LaneBitmask::getLane(DstBit) && in computeSubRegLaneMasks()
1461 MaskRolPair MaskRol = { LaneBitmask::getLane(0), (uint8_t)DstBit }; in computeSubRegLaneMasks()
1475 LaneBitmask SrcMask = LaneBitmask::getLane(SrcBit); in computeSubRegLaneMasks()
[all …]

123