HomeSort by: relevance | last modified time | path
    Searched defs:PhysReg (Results 1 - 17 of 17) sorted by relevancy

  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/
LiveRegMatrix.cpp 81 LiveInterval &VRegInterval, MCRegister PhysReg,
84 for (MCRegUnitMaskIterator Units(PhysReg, TRI); Units.isValid(); ++Units) {
96 for (MCRegUnitIterator Units(PhysReg, TRI); Units.isValid(); ++Units) {
104 void LiveRegMatrix::assign(LiveInterval &VirtReg, MCRegister PhysReg) {
106 << printReg(PhysReg, TRI) << ':');
108 VRM->assignVirt2Phys(VirtReg.reg(), PhysReg);
111 TRI, VirtReg, PhysReg, [&](unsigned Unit, const LiveRange &Range) {
122 Register PhysReg = VRM->getPhys(VirtReg.reg());
124 << " from " << printReg(PhysReg, TRI) << ':');
127 foreachUnit(TRI, VirtReg, PhysReg,
    [all...]
RegisterClassInfo.cpp 113 unsigned PhysReg = RawOrder[i];
115 if (Reserved.test(PhysReg))
117 uint8_t Cost = RegCosts[PhysReg];
120 if (CalleeSavedAliases[PhysReg] &&
121 !STI.ignoreCSRForAllocationOrder(*MF, PhysReg))
122 // PhysReg aliases a CSR, save it for later.
123 CSRAlias.push_back(PhysReg);
127 RCI.Order[N++] = PhysReg;
136 unsigned PhysReg = CSRAlias[i];
137 uint8_t Cost = RegCosts[PhysReg];
    [all...]
InterferenceCache.h 44 /// of PhysReg in all basic blocks.
46 /// PhysReg - The register currently represented.
47 MCRegister PhysReg = 0;
68 /// RegUnitInfo - Information tracked about each RegUnit in PhysReg.
90 /// Info for each RegUnit in PhysReg. It is very rare ofr a PHysReg to have
105 PhysReg = MCRegister::NoRegister;
111 MCRegister getPhysReg() const { return PhysReg; }
119 /// valid - Return true if this is a valid entry for physReg.
122 /// reset - Initialize entry to represent physReg's aliases
    [all...]
ShrinkWrap.cpp 282 Register PhysReg = MO.getReg();
283 if (!PhysReg)
285 assert(Register::isPhysicalRegister(PhysReg) && "Unallocated register?!");
291 UseOrDefCSR = (!MI.isCall() && PhysReg == SP) ||
292 RCI.getLastCalleeSavedAlias(PhysReg);
VirtRegMap.cpp 84 void VirtRegMap::assignVirt2Phys(Register virtReg, MCPhysReg physReg) {
85 assert(virtReg.isVirtual() && Register::isPhysicalRegister(physReg));
89 assert(!getRegInfo().isReserved(physReg) &&
90 "Attempt to map virtReg to a reserved physReg");
91 Virt2PhysMap[virtReg.id()] = physReg;
190 void addLiveInsForSubRanges(const LiveInterval &LI, MCRegister PhysReg) const;
279 MCRegister PhysReg) const {
318 MBB->addLiveIn(PhysReg, LaneMask);
333 // assigned PhysReg must be marked as live-in to those blocks.
334 Register PhysReg = VRM->getPhys(VirtReg)
    [all...]
RegAllocFast.cpp 91 MCPhysReg PhysReg = 0; ///< Currently held here.
153 void setPhysRegState(MCPhysReg PhysReg, unsigned NewState);
154 bool isPhysRegFree(MCPhysReg PhysReg) const;
156 /// Mark a physreg as used in this instruction.
157 void markRegUsedInInstr(MCPhysReg PhysReg) {
158 for (MCRegUnitIterator Units(PhysReg, TRI); Units.isValid(); ++Units)
162 // Check if physreg is clobbered by instruction's regmask(s).
163 bool isClobberedByRegMasks(MCPhysReg PhysReg) const {
164 return llvm::any_of(RegMasks, [PhysReg](const uint32_t *Mask) {
165 return MachineOperand::clobbersPhysReg(Mask, PhysReg);
    [all...]
RegAllocGreedy.cpp 295 std::pair<Register /* evictor */, MCRegister /* physreg */>;
300 /// be mapped to the evictor Vreg and the PhysReg it was evicted from.
315 /// The Evictor vreg has evicted the Evictee vreg from Physreg.
316 /// \param PhysReg The physical register Evictee was evicted from.
319 void addEviction(MCRegister PhysReg, Register Evictor, Register Evictee) {
321 Evictees[Evictee].second = PhysReg;
324 /// Return the Evictor Vreg which evicted Evictee Vreg from PhysReg.
326 /// \return The Evictor vreg which evicted Evictee vreg from PhysReg. 0 if
327 /// nobody has evicted Evictee from PhysReg.
353 MCRegister PhysReg;
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
SIPreAllocateWWMRegs.cpp 103 for (MCRegister PhysReg : RegClassInfo.getOrder(MRI->getRegClass(Reg))) {
104 if (!MRI->isPhysRegUsed(PhysReg) &&
105 Matrix->checkInterference(LI, PhysReg) == LiveRegMatrix::IK_Free) {
106 Matrix->assign(LI, PhysReg);
107 assert(PhysReg != 0);
113 llvm_unreachable("physreg not found for WWM expression");
131 Register PhysReg = VRM->getPhys(VirtReg);
134 PhysReg = TRI->getSubReg(PhysReg, SubReg);
138 MO.setReg(PhysReg);
    [all...]
AMDGPUCallLowering.cpp 62 void assignValueToReg(Register ValVReg, Register PhysReg,
71 if (TRI->isSGPRReg(MRI, PhysReg)) {
78 MIRBuilder.buildCopy(PhysReg, ExtReg);
79 MIB.addUse(PhysReg, RegState::Implicit);
105 void assignValueToReg(Register ValVReg, Register PhysReg,
107 markPhysRegUsed(PhysReg);
112 auto Copy = MIRBuilder.buildCopy(LLT::scalar(32), PhysReg);
122 IncomingValueHandler::assignValueToReg(ValVReg, PhysReg, VA);
143 virtual void markPhysRegUsed(unsigned PhysReg) = 0;
150 void markPhysRegUsed(unsigned PhysReg) override
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/ARM/
ARMCallLowering.cpp 111 void assignValueToReg(Register ValVReg, Register PhysReg,
114 assert(VA.getLocReg() == PhysReg && "Assigning to the wrong reg?");
120 MIRBuilder.buildCopy(PhysReg, ExtReg);
121 MIB.addUse(PhysReg, RegState::Implicit);
282 void assignValueToReg(Register ValVReg, Register PhysReg,
285 assert(VA.getLocReg() == PhysReg && "Assigning to the wrong reg?");
293 markPhysRegUsed(PhysReg);
295 MIRBuilder.buildCopy(ValVReg, PhysReg);
302 auto PhysRegToVReg = MIRBuilder.buildCopy(LLT::scalar(LocSize), PhysReg);
346 virtual void markPhysRegUsed(unsigned PhysReg) = 0
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/SystemZ/
SystemZRegisterInfo.cpp 42 Register PhysReg = VRM->getPhys(MO.getReg());
43 if (SystemZ::GR32BitRegClass.contains(PhysReg))
45 assert (SystemZ::GRH32BitRegClass.contains(PhysReg) &&
110 Register PhysReg = Register::isPhysicalRegister(Reg)
113 if (PhysReg) {
115 PhysReg = getSubReg(PhysReg, MO->getSubReg());
117 PhysReg = getMatchingSuperReg(PhysReg, VRRegMO->getSubReg(),
119 if (!MRI->isReserved(PhysReg) && !is_contained(Hints, PhysReg)
    [all...]
SystemZInstrInfo.cpp 1201 Register PhysReg = Register::isVirtualRegister(Reg)
1204 if (!PhysReg ||
1205 !(SystemZ::FP32BitRegClass.contains(PhysReg) ||
1206 SystemZ::FP64BitRegClass.contains(PhysReg) ||
1207 SystemZ::VF128BitRegClass.contains(PhysReg)))
  /src/external/apache2/llvm/dist/llvm/lib/Target/X86/
X86CallLowering.cpp 107 void assignValueToReg(Register ValVReg, Register PhysReg,
109 MIB.addUse(PhysReg, RegState::Implicit);
111 MIRBuilder.buildCopy(PhysReg, ExtReg);
198 void assignValueToReg(Register ValVReg, Register PhysReg,
200 markPhysRegUsed(PhysReg);
201 IncomingValueHandler::assignValueToReg(ValVReg, PhysReg, VA);
207 virtual void markPhysRegUsed(unsigned PhysReg) = 0;
217 void markPhysRegUsed(unsigned PhysReg) override {
218 MIRBuilder.getMRI()->addLiveIn(PhysReg);
219 MIRBuilder.getMBB().addLiveIn(PhysReg);
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/SelectionDAG/
FunctionLoweringInfo.cpp 207 std::pair<unsigned, const TargetRegisterClass *> PhysReg =
210 if (PhysReg.first == SP)
  /src/external/apache2/llvm/dist/llvm/lib/Target/AArch64/GISel/
AArch64CallLowering.cpp 154 void assignValueToReg(Register ValVReg, Register PhysReg,
156 markPhysRegUsed(PhysReg);
157 IncomingValueHandler::assignValueToReg(ValVReg, PhysReg, VA);
192 virtual void markPhysRegUsed(MCRegister PhysReg) = 0;
199 void markPhysRegUsed(MCRegister PhysReg) override {
200 MIRBuilder.getMRI()->addLiveIn(PhysReg);
201 MIRBuilder.getMBB().addLiveIn(PhysReg);
210 void markPhysRegUsed(MCRegister PhysReg) override {
211 MIB.addDef(PhysReg, RegState::Implicit);
224 void markPhysRegUsed(MCRegister PhysReg) override {
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/Mips/
MipsCallLowering.cpp 109 virtual void markPhysRegUsed(unsigned PhysReg) {
110 MIRBuilder.getMRI()->addLiveIn(PhysReg);
111 MIRBuilder.getMBB().addLiveIn(PhysReg);
128 void markPhysRegUsed(unsigned PhysReg) override {
129 MIB.addDef(PhysReg, RegState::Implicit);
140 Register PhysReg = VA.getLocReg();
141 if (VT == MVT::f64 && PhysReg >= Mips::A0 && PhysReg <= Mips::A3) {
146 auto Lo = MIRBuilder.buildCopy(s32, Register(PhysReg + (IsEL ? 0 : 1)));
147 auto Hi = MIRBuilder.buildCopy(s32, Register(PhysReg + (IsEL ? 1 : 0)))
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/
MachineBasicBlock.h 103 MCPhysReg PhysReg;
106 RegisterMaskPair(MCPhysReg PhysReg, LaneBitmask LaneMask)
107 : PhysReg(PhysReg), LaneMask(LaneMask) {}
367 void addLiveIn(MCRegister PhysReg,
369 LiveIns.push_back(RegisterMaskPair(PhysReg, LaneMask));
383 /// Add PhysReg as live in to this block, and ensure that there is a copy of
384 /// PhysReg to a virtual register of class RC. Return the virtual register
385 /// that is a copy of the live in PhysReg.
386 Register addLiveIn(MCRegister PhysReg, const TargetRegisterClass *RC)
    [all...]

Completed in 107 milliseconds