Home
last modified time | relevance | path

Searched refs:VRM (Results 1 – 25 of 58) sorted by relevance

123

/openbsd-src/gnu/llvm/llvm/include/llvm/CodeGen/
H A DCalcSpillWeights.h48 const VirtRegMap &VRM; variable
58 const VirtRegMap &VRM, const MachineLoopInfo &Loops, in VirtRegAuxInfo() argument
60 : MF(MF), LIS(LIS), VRM(VRM), Loops(Loops), MBFI(MBFI) {} in VirtRegAuxInfo()
80 const VirtRegMap &VRM,
H A DVirtRegMap.h204 inline raw_ostream &operator<<(raw_ostream &OS, const VirtRegMap &VRM) {
205 VRM.print(OS);
H A DLiveRangeEdit.h71 VirtRegMap *VRM; variable
134 VRM(vrm), TII(*MF.getSubtarget().getInstrInfo()), TheDelegate(delegate), in Parent()
H A DSpiller.h39 VirtRegMap &VRM, VirtRegAuxInfo &VRAI);
/openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/
H A DGCNNSAReassign.cpp73 VirtRegMap *VRM; member in __anondd6866800111::GCNNSAReassign
114 if (VRM->hasPhys(Intervals[N]->reg())) in tryAssignRegisters()
183 if (Reg.isPhysical() || !VRM->isAssignedReg(Reg)) in CheckNSA()
186 Register PhysReg = VRM->getPhys(Reg); in CheckNSA()
209 if (VRM->getPreSplitReg(Reg)) in CheckNSA()
245 VRM = &getAnalysis<VirtRegMap>(); in runOnMachineFunction()
302 OrigRegs.push_back(VRM->getPhys(Reg)); in runOnMachineFunction()
321 << " " << llvm::printReg((VRM->getPhys(LI->reg())), TRI); in runOnMachineFunction()
327 if (VRM->hasPhys(Intervals.back()->reg())) // Did not change allocation. in runOnMachineFunction()
346 if (VRM->hasPhys(Intervals[I]->reg())) in runOnMachineFunction()
[all …]
H A DSIPreAllocateWWMRegs.cpp40 VirtRegMap *VRM; member in __anonaddf18be0111::SIPreAllocateWWMRegs
98 if (VRM->hasPhys(Reg)) in processDef()
127 if (!VRM->hasPhys(VirtReg)) in rewriteRegs()
130 Register PhysReg = VRM->getPhys(VirtReg); in rewriteRegs()
148 const Register PhysReg = VRM->getPhys(Reg); in rewriteRegs()
200 VRM = &getAnalysis<VirtRegMap>(); in runOnMachineFunction()
/openbsd-src/gnu/llvm/llvm/lib/CodeGen/
H A DRegAllocBasic.cpp148 if (VRM->hasPhys(VirtReg)) { in INITIALIZE_PASS_DEPENDENCY()
162 if (!VRM->hasPhys(VirtReg)) in LRE_WillShrinkVirtReg()
233 if (!VRM->hasPhys(Spill.reg())) in spillInterferences()
241 LiveRangeEdit LRE(&Spill, SplitVRegs, *MF, *LIS, VRM, this, &DeadRemats); in spillInterferences()
266 AllocationOrder::create(VirtReg.reg(), *VRM, RegClassInfo, Matrix); in selectOrSplit()
301 LiveRangeEdit LRE(&VirtReg, SplitVRegs, *MF, *LIS, VRM, this, &DeadRemats); in selectOrSplit()
317 VirtRegAuxInfo VRAI(*MF, *LIS, *VRM, getAnalysis<MachineLoopInfo>(), in runOnMachineFunction()
321 SpillerInstance.reset(createInlineSpiller(*this, *MF, *VRM, VRAI)); in runOnMachineFunction()
327 LLVM_DEBUG(dbgs() << "Post alloc VirtRegMap:\n" << *VRM << "\n"); in runOnMachineFunction()
H A DRegAllocPBQP.cpp165 void initializeGraph(PBQPRAGraph &G, VirtRegMap &VRM, Spiller &VRegSpiller);
169 MachineFunction &MF, LiveIntervals &LIS, VirtRegMap &VRM,
176 VirtRegMap &VRM,
182 VirtRegMap &VRM) const;
529 PBQPVirtRegAuxInfo(MachineFunction &MF, LiveIntervals &LIS, VirtRegMap &VRM, in PBQPVirtRegAuxInfo() argument
532 : VirtRegAuxInfo(MF, LIS, VRM, Loops, MBFI) {} in PBQPVirtRegAuxInfo()
590 void RegAllocPBQP::initializeGraph(PBQPRAGraph &G, VirtRegMap &VRM, in initializeGraph() argument
654 spillVReg(VReg, NewVRegs, MF, LIS, VRM, VRegSpiller); in initializeGraph()
693 VirtRegMap &VRM, Spiller &VRegSpiller) { in spillVReg() argument
695 LiveRangeEdit LRE(&LIS.getInterval(VReg), NewIntervals, MF, LIS, &VRM, in spillVReg()
[all …]
H A DAllocationOrder.cpp29 AllocationOrder AllocationOrder::create(unsigned VirtReg, const VirtRegMap &VRM, in create() argument
32 const MachineFunction &MF = VRM.getMachineFunction(); in create()
33 const TargetRegisterInfo *TRI = &VRM.getTargetRegInfo(); in create()
37 TRI->getRegAllocationHints(VirtReg, Order, Hints, MF, &VRM, Matrix); in create()
H A DLiveRangeEdit.cpp37 if (VRM) in createEmptyIntervalFrom()
38 VRM->setIsSplitFromReg(VReg, VRM->getOriginal(OldReg)); in createEmptyIntervalFrom()
57 if (VRM) { in createFrom()
58 VRM->setIsSplitFromReg(VReg, VRM->getOriginal(OldReg)); in createFrom()
85 unsigned Original = VRM->getOriginal(getReg()); in scanRemattable()
317 if (VRM && MI->getOperand(0).isReg() && MI->getOperand(0).isDef() && in eliminateDeadDef()
321 Register Original = VRM->getOriginal(Dest); in eliminateDeadDef()
471 Register Original = VRM ? VRM->getOriginal(VReg) : Register(); in eliminateDeadDefs()
477 VRM->setIsSplitFromReg(SplitLI->reg(), Original); in eliminateDeadDefs()
488 if (VRM) in MRI_NoteNewVirtualRegister()
[all …]
H A DRegAllocBase.cpp61 VRM = &vrm; in init()
89 assert(!VRM->hasPhys(VirtReg->reg()) && "Register already assigned"); in allocatePhysRegs()
142 VRM->assignVirt2Phys(VirtReg->reg(), AllocOrder.front()); in allocatePhysRegs()
150 assert(!VRM->hasPhys(SplitVirtReg->reg()) && "Register already assigned"); in allocatePhysRegs()
181 if (VRM->hasPhys(Reg)) in enqueue()
H A DMIRVRegNamerUtils.cpp25 bool VRegRenamer::doVRegRenaming(const VRegRenameMap &VRM) { in doVRegRenaming() argument
28 for (const auto &E : VRM) { in doVRegRenaming()
48 VRegRenameMap VRM; in getVRegRenameMap() local
51 VRM[Reg] = createVirtualRegisterWithLowerName(Reg, GetUniqueVRegName(VReg)); in getVRegRenameMap()
53 return VRM; in getVRegRenameMap()
H A DInlineSpiller.cpp90 VirtRegMap &VRM; member in __anonfc7bcde50111::HoistSpillHelper
142 Loops(pass.getAnalysis<MachineLoopInfo>()), VRM(vrm), in HoistSpillHelper()
161 VirtRegMap &VRM; member in __anonfc7bcde50111::InlineSpiller
195 InlineSpiller(MachineFunctionPass &Pass, MachineFunction &MF, VirtRegMap &VRM, in InlineSpiller() argument
200 Loops(Pass.getAnalysis<MachineLoopInfo>()), VRM(VRM), in InlineSpiller()
204 HSpiller(Pass, MF, VRM), VRAI(VRAI) {} in InlineSpiller()
241 MachineFunction &MF, VirtRegMap &VRM, in createInlineSpiller() argument
243 return new InlineSpiller(Pass, MF, VRM, VRAI); in createInlineSpiller()
372 return Reg.isVirtual() && VRM.getOriginal(Reg) == Original; in isSibling()
901 : TII.foldMemoryOperand(*MI, FoldOps, StackSlot, &LIS, &VRM); in foldMemoryOperand()
[all …]
H A DLiveRegMatrix.cpp58 VRM = &getAnalysis<VirtRegMap>(); in runOnMachineFunction()
107 assert(!VRM->hasPhys(VirtReg.reg()) && "Duplicate VirtReg assignment"); in assign()
108 VRM->assignVirt2Phys(VirtReg.reg(), PhysReg); in assign()
122 Register PhysReg = VRM->getPhys(VirtReg.reg()); in unassign()
125 VRM->clearVirt(VirtReg.reg()); in unassign()
H A DCalcSpillWeights.cpp82 const VirtRegMap &VRM, in isRematerializable() argument
85 Register Original = VRM.getOriginal(Reg); in isRematerializable()
110 if (!Reg.isVirtual() || VRM.getOriginal(Reg) != Original) in isRematerializable()
131 return any_of(VRM.getRegInfo().reg_operands(LI.reg()), in isLiveAtStatepointVarArg()
164 Register Original = VRM.getOriginal(Reg); in weightCalcHelper()
317 if (isRematerializable(LI, LIS, VRM, *MF.getSubtarget().getInstrInfo())) in weightCalcHelper()
H A DRegAllocGreedy.cpp233 if (VRM->hasPhys(VirtReg)) { in LRE_CanEraseVirtReg()
247 if (!VRM->hasPhys(VirtReg)) in LRE_WillShrinkVirtReg()
372 if (VRM->hasKnownPreference(Reg)) in getPriority()
450 AllocationOrder::create(VirtReg.reg(), *VRM, RegClassInfo, Matrix); in canReassign()
503 if (!VRM->hasPhys(Intf->reg())) in evictInterference()
1161 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this, &DeadRemats); in doRegionSplit()
1209 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this, &DeadRemats); in tryBlockSplit()
1331 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this, &DeadRemats); in tryInstructionSplit()
1662 LiveRangeEdit LREdit(&VirtReg, NewVRegs, *MF, *LIS, VRM, this, &DeadRemats); in tryLocalSplit()
1752 const VirtRegMap &VRM, in assignedRegPartiallyOverlaps() argument
[all …]
H A DVirtRegMap.cpp190 VirtRegMap *VRM; member in __anon30eed56c0111::VirtRegRewriter
263 VRM = &getAnalysis<VirtRegMap>(); in runOnMachineFunction()
267 LLVM_DEBUG(VRM->dump()); in runOnMachineFunction()
270 LIS->addKillFlags(VRM); in runOnMachineFunction()
283 DebugVars->emitDebugValues(VRM); in runOnMachineFunction()
287 VRM->clearAllVirt(); in runOnMachineFunction()
350 Register PhysReg = VRM->getPhys(VirtReg); in addMBBLiveIns()
553 MCRegister PhysReg = VRM->getPhys(VirtReg); in rewrite()
H A DLiveDebugVariables.cpp479 void rewriteLocations(VirtRegMap &VRM, const MachineFunction &MF,
485 void emitDebugValues(VirtRegMap *VRM, LiveIntervals &LIS,
668 void emitDebugValues(VirtRegMap *VRM);
1510 void UserValue::rewriteLocations(VirtRegMap &VRM, const MachineFunction &MF, in rewriteLocations() argument
1531 if (VRM.isAssignedReg(VirtReg) && in rewriteLocations()
1532 Register::isPhysicalRegister(VRM.getPhys(VirtReg))) { in rewriteLocations()
1536 Loc.substPhysReg(VRM.getPhys(VirtReg), TRI); in rewriteLocations()
1537 } else if (VRM.getStackSlot(VirtReg) != VirtRegMap::NO_STACK_SLOT) { in rewriteLocations()
1548 Loc = MachineOperand::CreateFI(VRM.getStackSlot(VirtReg)); in rewriteLocations()
1742 void UserValue::emitDebugValues(VirtRegMap *VRM, LiveIntervals &LIS, in emitDebugValues() argument
[all …]
H A DRegAllocPriorityAdvisor.cpp109 : RA(RA), LIS(RA.getLiveIntervals()), VRM(RA.getVirtRegMap()), in RegAllocPriorityAdvisor()
110 MRI(&VRM->getRegInfo()), TRI(MF.getSubtarget().getRegisterInfo()), in RegAllocPriorityAdvisor()
H A DRegAllocEvictionAdvisor.cpp128 LIS(RA.getLiveIntervals()), VRM(RA.getVirtRegMap()), in RegAllocEvictionAdvisor()
129 MRI(&VRM->getRegInfo()), TRI(MF.getSubtarget().getRegisterInfo()), in RegAllocEvictionAdvisor()
250 bool BreaksHint = VRM->hasPreferredPhys(Intf->reg()); in canEvictInterferenceBasedOnCost()
H A DSplitKit.cpp153 : MF(vrm.getMachineFunction()), VRM(vrm), LIS(lis), Loops(mli), in SplitAnalysis()
325 Register OrigReg = VRM.getOriginal(CurLI->reg()); in isOriginalEndpoint()
349 SplitEditor::SplitEditor(SplitAnalysis &SA, LiveIntervals &LIS, VirtRegMap &VRM, in SplitEditor() argument
352 : SA(SA), LIS(LIS), VRM(VRM), MRI(VRM.getMachineFunction().getRegInfo()), in SplitEditor()
353 MDT(MDT), TII(*VRM.getMachineFunction().getSubtarget().getInstrInfo()), in SplitEditor()
354 TRI(*VRM.getMachineFunction().getSubtarget().getRegisterInfo()), in SplitEditor()
365 LICalc[0].reset(&VRM.getMachineFunction(), LIS.getSlotIndexes(), &MDT, in reset()
368 LICalc[1].reset(&VRM.getMachineFunction(), LIS.getSlotIndexes(), &MDT, in reset()
592 Register Original = VRM.getOriginal(Edit->get(RegIdx)); in defFromParent()
1294 SubLIC.reset(&VRM.getMachineFunction(), LIS.getSlotIndexes(), &MDT, in extendPHIKillRanges()
[all …]
H A DSplitKit.h99 const VirtRegMap &VRM; variable
260 VirtRegMap &VRM; variable
437 SplitEditor(SplitAnalysis &SA, LiveIntervals &LIS, VirtRegMap &VRM,
/openbsd-src/gnu/llvm/llvm/lib/Target/X86/
H A DX86TileConfig.cpp85 VirtRegMap &VRM = getAnalysis<VirtRegMap>(); in INITIALIZE_PASS_DEPENDENCY() local
87 if (VRM.isShapeMapEmpty()) in INITIALIZE_PASS_DEPENDENCY()
126 if (VRM.getPhys(VirtReg) == VirtRegMap::NO_PHYS_REG) in INITIALIZE_PASS_DEPENDENCY()
128 unsigned Index = VRM.getPhys(VirtReg) - X86::TMM0; in INITIALIZE_PASS_DEPENDENCY()
140 ShapeT Shape = VRM.getShape(Phys2Virt[I]); in INITIALIZE_PASS_DEPENDENCY()
H A DX86RegisterInfo.cpp938 static ShapeT getTileShape(Register VirtReg, VirtRegMap *VRM, in getTileShape() argument
940 if (VRM->hasShape(VirtReg)) in getTileShape()
941 return VRM->getShape(VirtReg); in getTileShape()
952 ShapeT Shape = getTileShape(SrcReg, VRM, MRI); in getTileShape()
953 VRM->assignVirt2Shape(VirtReg, Shape); in getTileShape()
969 VRM->assignVirt2Shape(VirtReg, Shape); in getTileShape()
978 const VirtRegMap *VRM, in getRegAllocationHints() argument
983 VirtReg, Order, Hints, MF, VRM, Matrix); in getRegAllocationHints()
988 ShapeT VirtShape = getTileShape(VirtReg, const_cast<VirtRegMap *>(VRM), MRI); in getRegAllocationHints()
995 ShapeT PhysShape = getTileShape(VReg, const_cast<VirtRegMap *>(VRM), MRI); in getRegAllocationHints()
/openbsd-src/gnu/llvm/llvm/lib/Target/SystemZ/
H A DSystemZRegisterInfo.cpp28 const VirtRegMap *VRM, in getRC32() argument
41 if (VRM && VRM->hasPhys(MO.getReg())) { in getRC32()
42 Register PhysReg = VRM->getPhys(MO.getReg()); in getRC32()
77 const VirtRegMap *VRM, const LiveRegMatrix *Matrix) const { in getRegAllocationHints() argument
83 VirtReg, Order, Hints, MF, VRM, Matrix); in getRegAllocationHints()
85 if (VRM != nullptr) { in getRegAllocationHints()
111 Reg.isPhysical() ? Reg : Register(VRM->getPhys(Reg)); in getRegAllocationHints()
150 TRI->getCommonSubClass(getRC32(FalseMO, VRM, MRI), in getRegAllocationHints()
151 getRC32(TrueMO, VRM, MRI)); in getRegAllocationHints()
154 getRC32(Use.getOperand(0), VRM, MRI)); in getRegAllocationHints()

123