| /openbsd-src/gnu/llvm/llvm/include/llvm/MC/ |
| H A D | MCRegisterInfo.h | 68 bool contains(MCRegister Reg) const { in contains() 78 bool contains(MCRegister Reg1, MCRegister Reg2) const { in contains() 158 MCRegister RAReg; // Return address register 159 MCRegister PCReg; // Program counter register 185 DenseMap<MCRegister, int> L2SEHRegs; // LLVM to SEH regs mapping 186 DenseMap<MCRegister, int> L2CVRegs; // LLVM to CV regs mapping 215 MCRegister advance() { in advance() 227 MCRegister operator*() const { return Val; } 252 mc_difflist_iterator(MCRegister Reg, const MCPhysReg *DiffList) { in mc_difflist_iterator() 290 mc_subreg_iterator(MCRegister Reg, const MCRegisterInfo *MCRI) in mc_subreg_iterator() [all …]
|
| H A D | MCRegister.h | 24 class MCRegister { 25 friend hash_code hash_value(const MCRegister &); 29 constexpr MCRegister(unsigned Val = 0): Reg(Val) {} in Reg() 67 static MCRegister from(unsigned Val) { in from() 69 return MCRegister(Val); in from() 79 bool operator==(const MCRegister &Other) const { return Reg == Other.Reg; } 80 bool operator!=(const MCRegister &Other) const { return Reg != Other.Reg; } 96 template<> struct DenseMapInfo<MCRegister> { 103 static unsigned getHashValue(const MCRegister &Val) { 106 static bool isEqual(const MCRegister &LHS, const MCRegister &RHS) { [all …]
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/CodeGen/ |
| H A D | Register.h | 24 constexpr Register(MCRegister Val): Reg(Val) {} in Register() 45 return MCRegister::isStackSlot(Reg); in isStackSlot() 49 bool isStack() const { return MCRegister::isStackSlot(Reg); } in isStack() 54 return int(Reg - MCRegister::FirstStackSlot); in stackSlot2Index() 60 return Register(FI + MCRegister::FirstStackSlot); in index2StackSlot() 66 return MCRegister::isPhysicalRegister(Reg); in isPhysicalRegister() 72 return Reg & MCRegister::VirtualRegFlag; in isVirtualRegister() 79 return Reg & ~MCRegister::VirtualRegFlag; in virtReg2Index() 86 return Index | MCRegister::VirtualRegFlag; in index2VirtReg() 113 operator MCRegister() const { in MCRegister() function [all …]
|
| H A D | ReachingDefAnalysis.h | 142 int getReachingDef(MachineInstr *MI, MCRegister PhysReg) const; 146 MCRegister PhysReg) const; 150 bool isReachingDefLiveOut(MachineInstr *MI, MCRegister PhysReg) const; 155 MCRegister PhysReg) const; 160 MCRegister PhysReg) const; 172 bool hasLocalDefBefore(MachineInstr *MI, MCRegister PhysReg) const; 176 bool isRegUsedAfter(MachineInstr *MI, MCRegister PhysReg) const; 179 bool isRegDefinedAfter(MachineInstr *MI, MCRegister PhysReg) const; 183 int getClearance(MachineInstr *MI, MCRegister PhysReg) const; 187 void getReachingLocalUses(MachineInstr *MI, MCRegister PhysReg, [all …]
|
| H A D | LiveRegMatrix.h | 108 MCRegister PhysReg); 115 bool checkInterference(SlotIndex Start, SlotIndex End, MCRegister PhysReg); 120 void assign(const LiveInterval &VirtReg, MCRegister PhysReg); 128 bool isPhysRegUsed(MCRegister PhysReg) const; 141 MCRegister PhysReg = MCRegister::NoRegister); 147 MCRegister PhysReg); 153 LiveIntervalUnion::Query &query(const LiveRange &LR, MCRegister RegUnit);
|
| H A D | TargetRegisterInfo.h | 90 MCRegister getRegister(unsigned i) const { in getRegister() 332 const TargetRegisterClass *getMinimalPhysRegClass(MCRegister Reg, 339 const TargetRegisterClass *getMinimalPhysRegClassLLT(MCRegister Reg, 364 bool isInAllocatableClass(MCRegister RegNo) const { in isInAllocatableClass() 430 bool hasRegUnit(MCRegister Reg, Register RegUnit) const { in hasRegUnit() 534 explainReservedReg(const MachineFunction &MF, MCRegister PhysReg) const { in explainReservedReg() 541 MCRegister PhysReg) const { in isAsmClobberable() 553 virtual bool isConstantPhysReg(MCRegister PhysReg) const { return false; } in isConstantPhysReg() 565 virtual bool isCallerPreservedPhysReg(MCRegister PhysReg, in isCallerPreservedPhysReg() 572 virtual bool isCalleeSavedPhysReg(MCRegister PhysReg, [all …]
|
| H A D | MachineRegisterInfo.h | 149 std::vector<std::pair<MCRegister, Register>> LiveIns; 245 bool isArgumentRegister(const MachineFunction &MF, MCRegister Reg) const; 248 bool isFixedRegister(const MachineFunction &MF, MCRegister Reg) const; 252 MCRegister Reg) const; 257 void disableCalleeSavedRegister(MCRegister Reg); 647 bool isConstantPhysReg(MCRegister PhysReg) const; 853 void updateDbgUsersToReg(MCRegister OldReg, MCRegister NewReg, in updateDbgUsersToReg() 885 bool isPhysRegModified(MCRegister PhysReg, bool SkipNoReturnDef = false) const; 891 bool isPhysRegUsed(MCRegister PhysReg, bool SkipRegMaskTest = false) const; 920 void reserveReg(MCRegister PhysReg, const TargetRegisterInfo *TRI) { in reserveReg() [all …]
|
| H A D | CallingConvLower.h | 254 bool isAllocated(MCRegister Reg) const { in isAllocated() 305 bool IsShadowAllocatedReg(MCRegister Reg) const; 328 MCRegister AllocateReg(MCPhysReg Reg) { in AllocateReg() 330 return MCRegister(); in AllocateReg() 336 MCRegister AllocateReg(MCPhysReg Reg, MCPhysReg ShadowReg) { in AllocateReg() 338 return MCRegister(); in AllocateReg() 350 return MCRegister(); // Didn't find the reg. in AllocateReg() 388 MCRegister AllocateReg(ArrayRef<MCPhysReg> Regs, const MCPhysReg *ShadowRegs) { in AllocateReg() 391 return MCRegister(); // Didn't find the reg. in AllocateReg() 394 MCRegister Reg = Regs[FirstUnalloc], ShadowReg = ShadowRegs[FirstUnalloc]; in AllocateReg()
|
| /openbsd-src/gnu/llvm/llvm/lib/MC/ |
| H A D | MCRegisterInfo.cpp | 23 MCRegister 24 MCRegisterInfo::getMatchingSuperReg(MCRegister Reg, unsigned SubIdx, in getMatchingSuperReg() 32 MCRegister MCRegisterInfo::getSubReg(MCRegister Reg, unsigned Idx) const { in getSubReg() 44 unsigned MCRegisterInfo::getSubRegIndex(MCRegister Reg, in getSubRegIndex() 45 MCRegister SubReg) const { in getSubRegIndex() 68 int MCRegisterInfo::getDwarfRegNum(MCRegister RegNum, bool isEH) const { in getDwarfRegNum() 109 int MCRegisterInfo::getSEHRegNum(MCRegister RegNum) const { in getSEHRegNum() 110 const DenseMap<MCRegister, int>::const_iterator I = L2SEHRegs.find(RegNum); in getSEHRegNum() 115 int MCRegisterInfo::getCodeViewRegNum(MCRegister RegNum) const { in getCodeViewRegNum() 118 const DenseMap<MCRegister, int>::const_iterator I = L2CVRegs.find(RegNum); in getCodeViewRegNum() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/CodeGen/ |
| H A D | RegAllocGreedy.h | 166 SmallVector<std::pair<const LiveInterval *, MCRegister>, 8>; 226 MCRegister PhysReg; 238 void reset(InterferenceCache &Cache, MCRegister Reg) { in reset() 297 MCRegister selectOrSplit(const LiveInterval &, 317 MCRegister selectOrSplitImpl(const LiveInterval &, 336 void calcGapWeights(MCRegister, SmallVectorImpl<float> &); 337 void evictInterference(const LiveInterval &, MCRegister, 339 bool mayRecolorAllInterferences(MCRegister PhysReg, 344 MCRegister tryAssign(const LiveInterval &, AllocationOrder &, 346 MCRegister tryEvict(const LiveInterval &, AllocationOrder &, [all …]
|
| H A D | MachineCopyPropagation.cpp | 107 SmallVector<MCRegister, 4> DefRegs; 111 DenseMap<MCRegister, CopyInfo> Copies; 116 void markRegsUnavailable(ArrayRef<MCRegister> Regs, in markRegsUnavailable() 118 for (MCRegister Reg : Regs) { in markRegsUnavailable() 129 void invalidateRegister(MCRegister Reg, const TargetRegisterInfo &TRI, in invalidateRegister() 134 SmallSet<MCRegister, 8> RegsToInvalidate; in invalidateRegister() 152 for (MCRegister InvalidReg : RegsToInvalidate) in invalidateRegister() 158 void clobberRegister(MCRegister Reg, const TargetRegisterInfo &TRI, in clobberRegister() 187 MCRegister Src = CopyOperands->Source->getReg().asMCReg(); in trackCopy() 188 MCRegister Def = CopyOperands->Destination->getReg().asMCReg(); in trackCopy() [all …]
|
| H A D | LiveRegMatrix.cpp | 81 const LiveInterval &VRegInterval, MCRegister PhysReg, in foreachUnit() 104 void LiveRegMatrix::assign(const LiveInterval &VirtReg, MCRegister PhysReg) { in assign() 138 bool LiveRegMatrix::isPhysRegUsed(MCRegister PhysReg) const { in isPhysRegUsed() 147 MCRegister PhysReg) { in checkRegMaskInterference() 165 MCRegister PhysReg) { in checkRegUnitInterference() 179 MCRegister RegUnit) { in query() 187 MCRegister PhysReg) { in checkInterference() 201 [&](MCRegister Unit, const LiveRange &LR) { in checkInterference() 211 MCRegister PhysReg) { in checkInterference() 247 return MCRegister::NoRegister; in getOneVReg()
|
| H A D | RegAllocEvictionAdvisor.h | 107 virtual MCRegister tryFindEvictionCandidate( 114 canEvictHintInterference(const LiveInterval &VirtReg, MCRegister PhysReg, 119 bool isUnusedCalleeSavedReg(MCRegister PhysReg) const; 135 bool canAllocatePhysReg(unsigned CostPerUseLimit, MCRegister PhysReg) const; 210 MCRegister tryFindEvictionCandidate(const LiveInterval &, 213 bool canEvictHintInterference(const LiveInterval &, MCRegister, 215 bool canEvictInterferenceBasedOnCost(const LiveInterval &, MCRegister, bool,
|
| H A D | ReachingDefAnalysis.cpp | 33 static bool isValidRegUseOf(const MachineOperand &MO, MCRegister PhysReg, in isValidRegUseOf() 44 static bool isValidRegDefOf(const MachineOperand &MO, MCRegister PhysReg, in isValidRegDefOf() 264 MCRegister PhysReg) const { in getReachingDef() 285 MCRegister PhysReg) const { in getReachingLocalMIDef() 292 MCRegister PhysReg) const { in hasSameReachingDef() 321 MCRegister PhysReg) const { in getClearance() 327 MCRegister PhysReg) const { in hasLocalDefBefore() 332 MCRegister PhysReg, in getReachingLocalUses() 357 MCRegister PhysReg, in getLiveInUses() 375 void ReachingDefAnalysis::getGlobalUses(MachineInstr *MI, MCRegister PhysReg, in getGlobalUses() [all …]
|
| H A D | InterferenceCache.h | 47 MCRegister PhysReg = 0; 105 PhysReg = MCRegister::NoRegister; in clear() 111 MCRegister getPhysReg() const { return PhysReg; } in getPhysReg() 123 void reset(MCRegister physReg, LiveIntervalUnion *LIUArray, 155 Entry *get(MCRegister PhysReg); 208 void setPhysReg(InterferenceCache &Cache, MCRegister PhysReg) { in setPhysReg()
|
| H A D | MachineRegisterInfo.cpp | 441 for (const std::pair<MCRegister, Register> &LI : liveins()) in isLiveIn() 449 MCRegister MachineRegisterInfo::getLiveInPhysReg(Register VReg) const { in getLiveInPhysReg() 450 for (const std::pair<MCRegister, Register> &LI : liveins()) in getLiveInPhysReg() 453 return MCRegister(); in getLiveInPhysReg() 458 Register MachineRegisterInfo::getLiveInVirtReg(MCRegister PReg) const { in getLiveInVirtReg() 459 for (const std::pair<MCRegister, Register> &LI : liveins()) in getLiveInVirtReg() 517 bool MachineRegisterInfo::isConstantPhysReg(MCRegister PhysReg) const { in isConstantPhysReg() 574 bool MachineRegisterInfo::isPhysRegModified(MCRegister PhysReg, in isPhysRegModified() 589 bool MachineRegisterInfo::isPhysRegUsed(MCRegister PhysReg, in isPhysRegUsed() 602 void MachineRegisterInfo::disableCalleeSavedRegister(MCRegister Reg) { in disableCalleeSavedRegister() [all …]
|
| H A D | RegAllocBasic.cpp | 99 MCRegister selectOrSplit(const LiveInterval &VirtReg, 118 bool spillInterferences(const LiveInterval &VirtReg, MCRegister PhysReg, 209 MCRegister PhysReg, in spillInterferences() 259 MCRegister RABasic::selectOrSplit(const LiveInterval &VirtReg, in selectOrSplit() 262 SmallVector<MCRegister, 8> PhysRegSpillCands; in selectOrSplit() 267 for (MCRegister PhysReg : Order) { in selectOrSplit() 287 for (MCRegister &PhysReg : PhysRegSpillCands) { in selectOrSplit()
|
| H A D | RegAllocEvictionAdvisor.cpp | 168 const LiveInterval &VirtReg, MCRegister PhysReg, in canEvictHintInterference() 186 const LiveInterval &VirtReg, MCRegister PhysReg, bool IsHint, in canEvictInterferenceBasedOnCost() 275 MCRegister DefaultEvictionAdvisor::tryFindEvictionCandidate( in tryFindEvictionCandidate() 281 MCRegister BestPhys; in tryFindEvictionCandidate() 284 return MCRegister::NoRegister; in tryFindEvictionCandidate() 296 MCRegister PhysReg = *I; in tryFindEvictionCandidate()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/ |
| H A D | SIRegisterInfo.h | 49 void reserveRegisterTuples(BitVector &, MCRegister Reg) const; 75 MCRegister reservedPrivateSegmentBufferReg(const MachineFunction &MF) const; 79 MCRegister PhysReg) const override; 165 StringRef getRegAsmName(MCRegister Reg) const override; 168 unsigned getHWRegIndex(MCRegister Reg) const { in getHWRegIndex() 272 MCRegister findUnusedRegister(const MachineRegisterInfo &MRI, 312 MCRegister getReturnAddressReg(const MachineFunction &MF) const; 340 MCRegister getVCC() const; 342 MCRegister getExec() const; 410 bool ValueIsKill, MCRegister ScratchOffsetReg,
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/X86/MCTargetDesc/ |
| H A D | X86MCTargetDesc.h | 29 class MCRegister; variable 141 MCRegister getX86SubSuperRegister(MCRegister, unsigned, bool High=false); 145 MCRegister getX86SubSuperRegisterOrZero(MCRegister, unsigned,
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/LoongArch/AsmParser/ |
| H A D | LoongArchAsmParser.cpp | 46 bool parseRegister(MCRegister &RegNo, SMLoc &StartLoc, 48 OperandMatchResultTy tryParseRegister(MCRegister &RegNo, SMLoc &StartLoc, 88 void emitLAInstSeq(MCRegister DestReg, MCRegister TmpReg, 163 MCRegister RegNum; 184 void setReg(MCRegister PhysReg) { Reg.RegNum = PhysReg; } in setReg() 447 auto RegName = [](MCRegister Reg) { in print() 518 static MCRegister convertFPR32ToFPR64(MCRegister Reg) { in convertFPR32ToFPR64() 526 static bool matchRegisterNameHelper(MCRegister &RegNo, StringRef Name) { in matchRegisterNameHelper() 540 bool LoongArchAsmParser::parseRegister(MCRegister &RegNo, SMLoc &StartLoc, in parseRegister() 545 OperandMatchResultTy LoongArchAsmParser::tryParseRegister(MCRegister &RegNo, in tryParseRegister() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/SystemZ/MCTargetDesc/ |
| H A D | SystemZInstPrinter.h | 33 static const char *getRegisterName(MCRegister Reg); 36 void printAddress(const MCAsmInfo *MAI, MCRegister Base, 37 const MCOperand &DispMO, MCRegister Index, raw_ostream &O); 42 void printFormattedRegName(const MCAsmInfo *MAI, MCRegister Reg, 46 void printRegName(raw_ostream &O, MCRegister Reg) const override;
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AArch64/ |
| H A D | AArch64RegisterInfo.h | 37 bool isReservedReg(const MachineFunction &MF, MCRegister Reg) const; 38 bool isStrictlyReservedReg(const MachineFunction &MF, MCRegister Reg) const; 99 MCRegister PhysReg) const override; 101 MCRegister PhysReg) const override; 129 MCRegister Reg) const override;
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/RISCV/Disassembler/ |
| H A D | RISCVDisassembler.cpp | 71 MCRegister Reg = RISCV::X0 + RegNo; in DecodeGPRRegisterClass() 82 MCRegister Reg = RISCV::F0_H + RegNo; in DecodeFPR16RegisterClass() 93 MCRegister Reg = RISCV::F0_F + RegNo; in DecodeFPR32RegisterClass() 104 MCRegister Reg = RISCV::F8_F + RegNo; in DecodeFPR32CRegisterClass() 115 MCRegister Reg = RISCV::F0_D + RegNo; in DecodeFPR64RegisterClass() 126 MCRegister Reg = RISCV::F8_D + RegNo; in DecodeFPR64CRegisterClass() 157 MCRegister Reg = RISCV::X8 + RegNo; in DecodeGPRCRegisterClass() 168 MCRegister Reg = RISCV::X0 + RegNo; in DecodeGPRPF64RegisterClass() 179 MCRegister Reg = RISCV::V0 + RegNo; in DecodeVRRegisterClass() 196 MCRegister Reg = in DecodeVRM2RegisterClass() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/LoongArch/MCTargetDesc/ |
| H A D | LoongArchInstPrinter.h | 31 void printRegName(raw_ostream &O, MCRegister Reg) const override; 44 static const char *getRegisterName(MCRegister Reg); 45 static const char *getRegisterName(MCRegister Reg, unsigned AltIdx);
|