Home
last modified time | relevance | path

Searched refs:Spill (Results 1 – 25 of 29) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DRegAllocBasic.cpp230 for (const LiveInterval *Spill : Intfs) { in spillInterferences() local
232 if (!VRM->hasPhys(Spill->reg())) in spillInterferences()
237 Matrix->unassign(*Spill); in spillInterferences()
240 LiveRangeEdit LRE(Spill, SplitVRegs, *MF, *LIS, VRM, this, &DeadRemats); in spillInterferences()
H A DInlineSpiller.cpp138 void addToMergeableSpills(MachineInstr &Spill, int StackSlot,
140 bool rmFromMergeableSpills(MachineInstr &Spill, int StackSlot);
1146 MachineBasicBlock::iterator Spill = std::next(MI); in insertSpill() local
1147 LIS.InsertMachineInstrRangeInMaps(Spill, MIS.end()); in insertSpill()
1148 for (const MachineInstr &MI : make_range(Spill, MIS.end())) in insertSpill()
1152 dumpMachineInstrRangeWithSlotIndex(Spill, MIS.end(), LIS, "spill")); in insertSpill()
1157 if (IsRealSpill && std::distance(Spill, MIS.end()) <= 1) in insertSpill()
1158 HSpiller.addToMergeableSpills(*Spill, StackSlot, Original); in insertSpill()
1339 void HoistSpillHelper::addToMergeableSpills(MachineInstr &Spill, int StackSlot, in addToMergeableSpills() argument
1353 SlotIndex Idx = LIS.getInstructionIndex(Spill); in addToMergeableSpills()
[all …]
H A DStackFrameLayoutAnalysisPass.cpp54 Spill, // a Spill slot enumerator
77 SlotTy = SlotType::Spill; in SlotData()
126 case SlotType::Spill: in getTypeString()
H A DMachineCopyPropagation.cpp1331 for (const MachineInstr *Spill : drop_begin(SC)) in EliminateSpillageCopies() local
1332 if (CopySourceInvalid.count(Spill)) in EliminateSpillageCopies()
1397 auto IsSpillReloadPair = [&, this](const MachineInstr &Spill, in EliminateSpillageCopies()
1399 if (!IsFoldableCopy(Spill) || !IsFoldableCopy(Reload)) in EliminateSpillageCopies()
1402 isCopyInstr(Spill, *TII, UseCopyInstr); in EliminateSpillageCopies()
H A DLiveInterval.cpp1165 for (const LiveRange::Segment &Spill : Spills) in print() local
1166 OS << ' ' << Spill; in print()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIMachineFunctionInfo.h698 const auto *I = find_if(PrologEpilogSGPRSpills, [&Reg](const auto &Spill) {
699 return Spill.first == Reg;
706 const auto *I = find_if(PrologEpilogSGPRSpills, [&Reg](const auto &Spill) {
707 return Spill.first == Reg;
737 const auto *I = find_if(PrologEpilogSGPRSpills, [&Reg](const auto &Spill) {
738 return Spill.first == Reg;
1041 void setHasSpilledSGPRs(bool Spill = true) {
1042 HasSpilledSGPRs = Spill;
1049 void setHasSpilledVGPRs(bool Spill = true) {
1050 HasSpilledVGPRs = Spill;
H A DSILowerSGPRSpills.cpp311 for (auto &Spill : VGPRSpills) { in updateLaneVGPRDomInstr() local
312 if (PrevLaneVGPR == Spill.VGPR) in updateLaneVGPRDomInstr()
315 PrevLaneVGPR = Spill.VGPR; in updateLaneVGPRDomInstr()
316 auto I = LaneVGPRDomInstr.find(Spill.VGPR); in updateLaneVGPRDomInstr()
317 if (Spill.Lane == 0 && I == LaneVGPRDomInstr.end()) { in updateLaneVGPRDomInstr()
319 LaneVGPRDomInstr[Spill.VGPR] = InsertPt; in updateLaneVGPRDomInstr()
H A DSIFrameLowering.cpp106 LLVM_DEBUG(auto Spill = MFI->getSGPRSpillToPhysicalVGPRLanes(FI).front(); in getVGPRSpillLaneOrTempRegister()
108 << printReg(Spill.VGPR, TRI) << ':' << Spill.Lane in getVGPRSpillLaneOrTempRegister()
270 ArrayRef<SIRegisterInfo::SpilledReg> Spill = in saveToVGPRLane() local
272 assert(Spill.size() == NumSubRegs); in saveToVGPRLane()
279 Spill[I].VGPR) in saveToVGPRLane()
281 .addImm(Spill[I].Lane) in saveToVGPRLane()
282 .addReg(Spill[I].VGPR, RegState::Undef); in saveToVGPRLane()
317 ArrayRef<SIRegisterInfo::SpilledReg> Spill = in restoreFromVGPRLane() local
319 assert(Spill.size() == NumSubRegs); in restoreFromVGPRLane()
326 .addReg(Spill[I].VGPR) in restoreFromVGPRLane()
[all …]
H A DSIMachineFunctionInfo.cpp487 auto &Spill = VGPRToAGPRSpills[FI]; in allocateVGPRSpillToAGPR() local
490 if (!Spill.Lanes.empty()) in allocateVGPRSpillToAGPR()
491 return Spill.FullyAllocated; in allocateVGPRSpillToAGPR()
495 Spill.Lanes.resize(NumLanes, AMDGPU::NoRegister); in allocateVGPRSpillToAGPR()
503 Spill.FullyAllocated = true; in allocateVGPRSpillToAGPR()
531 Spill.FullyAllocated = false; in allocateVGPRSpillToAGPR()
538 Spill.Lanes[I] = *NextSpillReg++; in allocateVGPRSpillToAGPR()
541 return Spill.FullyAllocated; in allocateVGPRSpillToAGPR()
H A DSIInstrFormats.td50 field bit Spill = 0;
193 let TSFlags{26} = Spill;
H A DSIRegisterInfo.cpp2063 SpilledReg Spill = VGPRSpills[i]; in spillSGPR() local
2073 SB.TII.get(AMDGPU::SI_SPILL_S32_TO_VGPR), Spill.VGPR) in spillSGPR()
2075 .addImm(Spill.Lane) in spillSGPR()
2076 .addReg(Spill.VGPR); in spillSGPR()
2180 SpilledReg Spill = VGPRSpills[i]; in restoreSGPR() local
2183 .addReg(Spill.VGPR) in restoreSGPR()
2184 .addImm(Spill.Lane); in restoreSGPR()
H A DSIDefines.h93 Spill = 1 << 26, enumerator
H A DSIInstrInfo.h774 return get(Opcode).TSFlags & SIInstrFlags::Spill; in isSpill()
778 return MI.getDesc().TSFlags & SIInstrFlags::Spill; in isSpill()
H A DSIInstructions.td978 let UseNamedOperandTable = 1, Spill = 1, SALU = 1, Uses = [EXEC] in {
1014 let Spill = 1, VALU = 1, isConvergent = 1 in {
1036 } // End Spill = 1, VALU = 1, isConvergent = 1
1043 let UseNamedOperandTable = 1, Spill = 1, VALU = 1,
1073 } // End UseNamedOperandTable = 1, Spill = 1, VALU = 1, SchedRW = [WriteVMEM]
/freebsd/contrib/llvm-project/compiler-rt/lib/xray/
H A Dxray_trampoline_powerpc64_asm.S8 # Spill r3-r10, f1-f13, and vsr34-vsr45, which are parameter registers.
149 # Spill r3-r4, f1-f8, and vsr34-vsr41, which are return registers.
/freebsd/contrib/llvm-project/lld/ELF/
H A DInputSection.h65 Spill, enumerator
427 s->kind() == SectionBase::Spill; in classof()
486 return sec->kind() == InputSectionBase::Spill; in classof()
H A DInputSection.cpp206 case Spill: in getOffset()
382 source.addralign, source.addralign, {}, SectionBase::Spill), in PotentialSpillSection()
H A DOptions.td219 …HelpText<"Spill input sections to later matching output sections to avoid memory region overflow">;
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/LiveDebugValues/
H A DInstrRefBasedImpl.h804 unsigned getLocID(SpillLocationNo Spill, unsigned SpillSubReg) {
807 return getLocID(Spill, {Size, Offs});
813 unsigned getLocID(SpillLocationNo Spill, StackSlotPos Idx) {
814 unsigned SlotNo = Spill.id() - 1;
824 unsigned getSpillIDWithIdx(SpillLocationNo Spill, unsigned Idx) {
825 unsigned SlotNo = Spill.id() - 1;
H A DInstrRefBasedImpl.cpp1278 const SpillLoc &Spill = SpillLocs[SpillID.id()]; in emitLoc() local
1279 unsigned Base = Spill.SpillBase; in emitLoc()
1330 TRI.getOffsetOpcodes(Spill.SpillOffset, OffsetOps); in emitLoc()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DFunctionLoweringInfo.h104 Spill, enumerator
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DStatepointLowering.cpp183 if (Record.type != RecordType::Spill) in findPreviousSpillSlot()
930 Record.type = RecordType::Spill; in LowerAsSTATEPOINT()
1259 if (Record.type == RecordType::Spill) { in visitGCRelocate()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZInstrFP.td184 // Spill f16 to 4-byte spill slot.
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/
H A DTarget.td80 int SpillSize = SS; // Spill slot size in bits.
81 int SpillAlignment = SA; // Spill slot alignment in bits.
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64SMEInstrInfo.td232 // Spill + fill

12