| /openbsd-src/gnu/llvm/llvm/include/llvm/CodeGen/ |
| H A D | CalcSpillWeights.h | 48 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 D | VirtRegMap.h | 204 inline raw_ostream &operator<<(raw_ostream &OS, const VirtRegMap &VRM) { 205 VRM.print(OS);
|
| H A D | LiveRangeEdit.h | 71 VirtRegMap *VRM; variable 134 VRM(vrm), TII(*MF.getSubtarget().getInstrInfo()), TheDelegate(delegate), in Parent()
|
| H A D | Spiller.h | 39 VirtRegMap &VRM, VirtRegAuxInfo &VRAI);
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/ |
| H A D | GCNNSAReassign.cpp | 73 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 D | SIPreAllocateWWMRegs.cpp | 40 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 D | RegAllocBasic.cpp | 148 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 D | RegAllocPBQP.cpp | 165 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 D | AllocationOrder.cpp | 29 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 D | LiveRangeEdit.cpp | 37 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 D | RegAllocBase.cpp | 61 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 D | MIRVRegNamerUtils.cpp | 25 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 D | InlineSpiller.cpp | 90 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 D | LiveRegMatrix.cpp | 58 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 D | CalcSpillWeights.cpp | 82 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 D | RegAllocGreedy.cpp | 233 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 D | VirtRegMap.cpp | 190 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 D | LiveDebugVariables.cpp | 479 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 D | RegAllocPriorityAdvisor.cpp | 109 : RA(RA), LIS(RA.getLiveIntervals()), VRM(RA.getVirtRegMap()), in RegAllocPriorityAdvisor() 110 MRI(&VRM->getRegInfo()), TRI(MF.getSubtarget().getRegisterInfo()), in RegAllocPriorityAdvisor()
|
| H A D | RegAllocEvictionAdvisor.cpp | 128 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 D | SplitKit.cpp | 153 : 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 D | SplitKit.h | 99 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 D | X86TileConfig.cpp | 85 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 D | X86RegisterInfo.cpp | 938 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 D | SystemZRegisterInfo.cpp | 28 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()
|