Home
last modified time | relevance | path

Searched refs:SubReg (Results 1 – 25 of 73) sorted by relevance

123

/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/
DMipsOptionRecord.cpp77 for (const MCPhysReg &SubReg : MCRegInfo->subregs_inclusive(Reg)) { in SetPhysRegUsed() local
78 unsigned EncVal = MCRegInfo->getEncodingValue(SubReg); in SetPhysRegUsed()
81 if (GPR32RegClass->contains(SubReg) || GPR64RegClass->contains(SubReg)) in SetPhysRegUsed()
83 else if (COP0RegClass->contains(SubReg)) in SetPhysRegUsed()
86 else if (FGR32RegClass->contains(SubReg) || in SetPhysRegUsed()
87 FGR64RegClass->contains(SubReg) || in SetPhysRegUsed()
88 AFGR64RegClass->contains(SubReg) || in SetPhysRegUsed()
89 MSA128BRegClass->contains(SubReg)) in SetPhysRegUsed()
91 else if (COP2RegClass->contains(SubReg)) in SetPhysRegUsed()
93 else if (COP3RegClass->contains(SubReg)) in SetPhysRegUsed()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/CodeGen/
DLiveVariables.cpp196 unsigned SubReg = *SubRegs; in FindLastPartialDef() local
197 MachineInstr *Def = PhysRegDef[SubReg]; in FindLastPartialDef()
202 LastDefReg = SubReg; in FindLastPartialDef()
250 unsigned SubReg = *SubRegs; in HandlePhysRegUse() local
251 if (Processed.count(SubReg)) in HandlePhysRegUse()
253 if (PartDefRegs.count(SubReg)) in HandlePhysRegUse()
257 LastPartialDef->addOperand(MachineOperand::CreateReg(SubReg, in HandlePhysRegUse()
260 PhysRegDef[SubReg] = LastPartialDef; in HandlePhysRegUse()
261 for (MCSubRegIterator SS(SubReg, TRI); SS.isValid(); ++SS) in HandlePhysRegUse()
289 unsigned SubReg = *SubRegs; in FindLastRefOrPartRef() local
[all …]
DLiveIntervalCalc.cpp68 unsigned SubReg = MO.getSubReg(); in calculate() local
69 if (LI.hasSubRanges() || (SubReg != 0 && TrackSubRegs)) { in calculate()
70 LaneBitmask SubMask = SubReg != 0 ? TRI.getSubRegIndexLaneMask(SubReg) in calculate()
168 unsigned SubReg = MO.getSubReg(); in extendToUses() local
169 if (SubReg != 0) { in extendToUses()
170 LaneBitmask SLM = TRI.getSubRegIndexLaneMask(SubReg); in extendToUses()
DPeepholeOptimizer.cpp297 ValueTrackerResult(Register Reg, unsigned SubReg) { in ValueTrackerResult() argument
298 addSource(Reg, SubReg); in ValueTrackerResult()
333 return RegSrcs[Idx].SubReg; in getSrcSubReg()
702 ValueTracker ValTracker(CurSrcPair.Reg, CurSrcPair.SubReg, *MRI, TII); in findNextSource()
752 if (!TRI->shouldRewriteCopySrc(DefRC, RegSubReg.SubReg, SrcRC, in findNextSource()
753 CurSrcPair.SubReg)) in findNextSource()
758 if (PHICount > 0 && CurSrcPair.SubReg != 0) in findNextSource()
784 assert(SrcRegs[0].SubReg == 0 && "should not have subreg operand"); in insertPHI()
792 MIB.addReg(RegPair.Reg, 0, RegPair.SubReg); in insertPHI()
1074 if ((Src.SubReg = MOInsertedReg.getSubReg())) in getNextRewritableSource()
[all …]
DDetectDeadLanes.cpp174 unsigned SubReg = MI.getOperand(2).getImm(); in isCrossCopy() local
175 SrcSubIdx = TRI.composeSubRegIndices(SubReg, SrcSubIdx); in isCrossCopy()
424 unsigned SubReg = MO.getSubReg(); in determineInitialUsedLanes() local
447 if (SubReg == 0) in determineInitialUsedLanes()
450 UsedLanes |= TRI->getSubRegIndexLaneMask(SubReg); in determineInitialUsedLanes()
457 unsigned SubReg = MO.getSubReg(); in isUndefRegAtInput() local
458 LaneBitmask Mask = TRI->getSubRegIndexLaneMask(SubReg); in isUndefRegAtInput()
DLiveIntervals.cpp577 unsigned SubReg = MO.getSubReg(); in shrinkToUses() local
578 if (SubReg != 0) { in shrinkToUses()
579 LaneBitmask LaneMask = TRI->getSubRegIndexLaneMask(SubReg); in shrinkToUses()
796 unsigned SubReg = MO.getSubReg(); in addKillFlags() local
797 LaneBitmask UseMask = SubReg ? TRI->getSubRegIndexLaneMask(SubReg) in addKillFlags()
1036 unsigned SubReg = MO.getSubReg(); in updateAllRanges() local
1037 LaneBitmask LaneMask = SubReg ? TRI.getSubRegIndexLaneMask(SubReg) in updateAllRanges()
1463 unsigned SubReg = MO.getSubReg(); in findLastUseBefore() local
1464 if (SubReg != 0 && LaneMask.any() in findLastUseBefore()
1465 && (TRI.getSubRegIndexLaneMask(SubReg) & LaneMask).none()) in findLastUseBefore()
[all …]
DScheduleDAGInstrs.cpp340 for (MCSubRegIterator SubReg(Reg, TRI, true); SubReg.isValid(); ++SubReg) { in addPhysRegDeps() local
341 if (Uses.contains(*SubReg)) in addPhysRegDeps()
342 Uses.eraseAll(*SubReg); in addPhysRegDeps()
344 Defs.eraseAll(*SubReg); in addPhysRegDeps()
376 unsigned SubReg = MO.getSubReg(); in getLaneMaskForMO() local
377 if (SubReg == 0) in getLaneMaskForMO()
379 return TRI->getSubRegIndexLaneMask(SubReg); in getLaneMaskForMO()
DMachineInstrBundle.cpp198 unsigned SubReg = *SubRegs; in finalizeBundle() local
199 if (LocalDefSet.insert(SubReg).second) in finalizeBundle()
200 LocalDefs.push_back(SubReg); in finalizeBundle()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/AArch64/
DAArch64AdvSIMDScalarPass.cpp104 static bool isGPR64(unsigned Reg, unsigned SubReg, in isGPR64() argument
106 if (SubReg) in isGPR64()
113 static bool isFPR64(unsigned Reg, unsigned SubReg, in isFPR64() argument
117 SubReg == 0) || in isFPR64()
119 SubReg == AArch64::dsub); in isFPR64()
121 return (AArch64::FPR64RegClass.contains(Reg) && SubReg == 0) || in isFPR64()
122 (AArch64::FPR128RegClass.contains(Reg) && SubReg == AArch64::dsub); in isFPR64()
129 unsigned &SubReg) { in getSrcFromCopy() argument
130 SubReg = 0; in getSrcFromCopy()
138 SubReg = AArch64::dsub; in getSrcFromCopy()
[all …]
DAArch64RegisterInfo.cpp278 for (MCSubRegIterator SubReg(AArch64::GPR64commonRegClass.getRegister(i), in UpdateCustomCallPreservedMask() local
280 SubReg.isValid(); ++SubReg) { in UpdateCustomCallPreservedMask()
283 UpdatedMask[*SubReg / 32] |= 1u << (*SubReg % 32); in UpdateCustomCallPreservedMask()
785 MachineInstr *MI, const TargetRegisterClass *SrcRC, unsigned SubReg, in shouldCoalesce() argument
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
DSIRegisterInfo.h246 unsigned SubReg,
297 MachineInstr *findReachingDef(Register Reg, unsigned SubReg,
319 unsigned getChannelFromSubReg(unsigned SubReg) const { in getChannelFromSubReg() argument
320 return SubReg ? (getSubRegIdxOffset(SubReg) + 31) / 32 : 0; in getChannelFromSubReg()
324 unsigned getNumChannelsFromSubReg(unsigned SubReg) const { in getNumChannelsFromSubReg() argument
325 return getNumCoveredRegs(getSubRegIndexLaneMask(SubReg)); in getNumChannelsFromSubReg()
DSIShrinkInstructions.cpp394 Register Reg, unsigned SubReg, in instAccessReg() argument
404 LaneBitmask Overlap = TRI.getSubRegIndexLaneMask(SubReg) & in instAccessReg()
414 unsigned Reg, unsigned SubReg, in instReadsReg() argument
416 return instAccessReg(MI->uses(), Reg, SubReg, TRI); in instReadsReg()
420 unsigned Reg, unsigned SubReg, in instModifiesReg() argument
422 return instAccessReg(MI->defs(), Reg, SubReg, TRI); in instModifiesReg()
567 .addDef(X1.Reg, 0, X1.SubReg) in matchSwap()
568 .addDef(Y1.Reg, 0, Y1.SubReg) in matchSwap()
569 .addReg(Y1.Reg, 0, Y1.SubReg) in matchSwap()
570 .addReg(X1.Reg, 0, X1.SubReg).getInstr(); in matchSwap()
DSIPreAllocateWWMRegs.cpp132 const unsigned SubReg = MO.getSubReg(); in rewriteRegs() local
133 if (SubReg != 0) { in rewriteRegs()
134 PhysReg = TRI->getSubReg(PhysReg, SubReg); in rewriteRegs()
DSIRegisterInfo.cpp1162 Register SubReg = e == 1 in buildSpillLoadStore() local
1215 SubReg = Register(getSubReg(ValueReg, in buildSpillLoadStore()
1221 unsigned FinalReg = SubReg; in buildSpillLoadStore()
1235 .addReg(SubReg, getKillRegState(IsKill)); in buildSpillLoadStore()
1240 SubReg = TmpReg; in buildSpillLoadStore()
1250 .addReg(SubReg, getDefRegState(!IsStore) | getKillRegState(IsKill)); in buildSpillLoadStore()
1340 Register SubReg = in spillSGPR() local
1352 .addReg(SubReg, getKillRegState(UseKill)) in spillSGPR()
1391 Register SubReg = in spillSGPR() local
1399 .addReg(SubReg, SubKillState) in spillSGPR()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/utils/TableGen/
DCodeGenRegisters.cpp254 for (const auto &SubReg : SubRegs) { in inheritRegUnits() local
255 CodeGenRegister *SR = SubReg.second; in inheritRegUnits()
348 for (const auto &SubReg : Map) in computeSubRegs() local
349 if (Orphans.erase(SubReg.second)) in computeSubRegs()
350 SubRegs[RegBank.getCompositeSubRegIndex(Idx, SubReg.first)] = SubReg.second; in computeSubRegs()
354 for (const auto &SubReg : SubRegs) { in computeSubRegs() local
355 if (SubReg.second == this) { in computeSubRegs()
365 SubReg.first->AllSuperRegsCovered = false; in computeSubRegs()
369 SubReg2Idx.insert(std::make_pair(SubReg.second, SubReg.first)).first; in computeSubRegs()
370 if (Ins->second == SubReg.first) in computeSubRegs()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/MC/
DMCRegisterInfo.cpp45 MCRegister SubReg) const { in getSubRegIndex()
46 assert(SubReg && SubReg < getNumRegs() && "This is not a register"); in getSubRegIndex()
51 if (*Subs == SubReg) in getSubRegIndex()
/freebsd-12-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/
DTargetInstrInfo.h479 unsigned SubReg; member
481 RegSubRegPair(Register Reg = Register(), unsigned SubReg = 0)
482 : Reg(Reg), SubReg(SubReg) {} in Reg()
485 return Reg == P.Reg && SubReg == P.SubReg;
498 RegSubRegPairAndIdx(Register Reg = Register(), unsigned SubReg = 0,
500 : RegSubRegPair(Reg, SubReg), SubIdx(SubIdx) {} in RegSubRegPair()
2020 std::pair<unsigned, unsigned> PairVal = std::make_pair(Val.Reg, Val.SubReg);
2027 RegInfo::isEqual(LHS.SubReg, RHS.SubReg);
DMachineInstrBuilder.h98 unsigned SubReg = 0) const {
108 SubReg,
117 unsigned SubReg = 0) const {
118 return addReg(RegNo, Flags | RegState::Define, SubReg);
124 unsigned SubReg = 0) const {
127 return addReg(RegNo, Flags, SubReg);
DTargetRegisterInfo.h1029 unsigned SubReg, in shouldCoalesce() argument
1119 unsigned SubReg = 0; variable
1139 unsigned getSubReg() const { return SubReg; } in getSubReg()
1150 SubReg = *Idx++;
1151 if (!SubReg)
DMachineFunction.h495 unsigned SubReg; ///< Optional subreg qualifier within Reg.
496 DebugPHIRegallocPos(MachineBasicBlock *MBB, Register Reg, unsigned SubReg)
497 : MBB(MBB), Reg(Reg), SubReg(SubReg) {}
507 unsigned SubReg = 0);
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/PowerPC/
DPPCRegisterInfo.td40 class GP8<GPR SubReg, string n> : PPCReg<n> {
41 let HWEncoding = SubReg.HWEncoding;
42 let SubRegs = [SubReg];
47 class SPE<GPR SubReg, string n> : PPCReg<n> {
48 let HWEncoding = SubReg.HWEncoding;
49 let SubRegs = [SubReg];
71 class VR<VF SubReg, string n> : PPCReg<n> {
72 let HWEncoding{4-0} = SubReg.HWEncoding{4-0};
74 let SubRegs = [SubReg];
80 class VSRL<FPR SubReg, string n> : PPCReg<n> {
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/X86/
DX86RegisterInfo.cpp543 for (const MCPhysReg &SubReg : subregs_inclusive(X86::RSP)) in getReservedRegs() local
544 Reserved.set(SubReg); in getReservedRegs()
550 for (const MCPhysReg &SubReg : subregs_inclusive(X86::RIP)) in getReservedRegs() local
551 Reserved.set(SubReg); in getReservedRegs()
555 for (const MCPhysReg &SubReg : subregs_inclusive(X86::RBP)) in getReservedRegs() local
556 Reserved.set(SubReg); in getReservedRegs()
569 for (const MCPhysReg &SubReg : subregs_inclusive(BasePtr)) in getReservedRegs() local
570 Reserved.set(SubReg); in getReservedRegs()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/
DHexagonConstPropagation.cpp87 unsigned SubReg; member
89 explicit RegisterSubReg(unsigned R, unsigned SR = 0) : Reg(R), SubReg(SR) {} in RegisterSubReg()
91 : Reg(MO.getReg()), SubReg(MO.getSubReg()) {} in RegisterSubReg()
94 dbgs() << printReg(Reg, TRI, SubReg); in print()
98 return (Reg == R.Reg) && (SubReg == R.SubReg); in operator ==()
640 if (DefR.SubReg) { in visitPHI()
673 << printReg(UseR.Reg, &MCE.TRI, UseR.SubReg) << SrcC in visitPHI()
1091 if (!R.SubReg) { in getCell()
1943 assert(!DefR.SubReg); in evaluate()
2211 if (!R.SubReg) { in evaluate()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/AVR/
DAVRRegisterInfo.h56 unsigned SubReg,
DAVRRegisterInfo.cpp281 unsigned SubReg, in shouldCoalesce() argument
290 return TargetRegisterInfo::shouldCoalesce(MI, SrcRC, SubReg, DstRC, DstSubReg, NewRC, LIS); in shouldCoalesce()

123