| /freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/ |
| D | MipsOptionRecord.cpp | 77 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/ |
| D | LiveVariables.cpp | 196 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 …]
|
| D | LiveIntervalCalc.cpp | 68 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()
|
| D | PeepholeOptimizer.cpp | 297 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 …]
|
| D | DetectDeadLanes.cpp | 174 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()
|
| D | LiveIntervals.cpp | 577 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 …]
|
| D | ScheduleDAGInstrs.cpp | 340 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()
|
| D | MachineInstrBundle.cpp | 198 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/ |
| D | AArch64AdvSIMDScalarPass.cpp | 104 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 …]
|
| D | AArch64RegisterInfo.cpp | 278 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/ |
| D | SIRegisterInfo.h | 246 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()
|
| D | SIShrinkInstructions.cpp | 394 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()
|
| D | SIPreAllocateWWMRegs.cpp | 132 const unsigned SubReg = MO.getSubReg(); in rewriteRegs() local 133 if (SubReg != 0) { in rewriteRegs() 134 PhysReg = TRI->getSubReg(PhysReg, SubReg); in rewriteRegs()
|
| D | SIRegisterInfo.cpp | 1162 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/ |
| D | CodeGenRegisters.cpp | 254 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/ |
| D | MCRegisterInfo.cpp | 45 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/ |
| D | TargetInstrInfo.h | 479 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);
|
| D | MachineInstrBuilder.h | 98 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);
|
| D | TargetRegisterInfo.h | 1029 unsigned SubReg, in shouldCoalesce() argument 1119 unsigned SubReg = 0; variable 1139 unsigned getSubReg() const { return SubReg; } in getSubReg() 1150 SubReg = *Idx++; 1151 if (!SubReg)
|
| D | MachineFunction.h | 495 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/ |
| D | PPCRegisterInfo.td | 40 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/ |
| D | X86RegisterInfo.cpp | 543 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/ |
| D | HexagonConstPropagation.cpp | 87 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/ |
| D | AVRRegisterInfo.h | 56 unsigned SubReg,
|
| D | AVRRegisterInfo.cpp | 281 unsigned SubReg, in shouldCoalesce() argument 290 return TargetRegisterInfo::shouldCoalesce(MI, SrcRC, SubReg, DstRC, DstSubReg, NewRC, LIS); in shouldCoalesce()
|