Home
last modified time | relevance | path

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

/external/swiftshader/third_party/LLVM/lib/CodeGen/
DRegisterCoalescer.cpp130 bool AdjustCopiesBackFrom(const CoalescerPair &CP, MachineInstr *CopyMI);
141 bool RemoveCopyByCommutingDef(const CoalescerPair &CP,MachineInstr *CopyMI);
147 unsigned DstReg, MachineInstr *CopyMI);
174 void RemoveCopyFlag(unsigned DstReg, const MachineInstr *CopyMI);
177 void markAsJoined(MachineInstr *CopyMI);
180 bool eliminateUndefCopy(MachineInstr *CopyMI, const CoalescerPair &CP);
388 void RegisterCoalescer::markAsJoined(MachineInstr *CopyMI) { in markAsJoined() argument
390 JoinedCopies.insert(CopyMI); in markAsJoined()
394 for (MachineInstr::mop_iterator I = CopyMI->operands_begin(), in markAsJoined()
395 E = CopyMI->operands_end(); I != E; ++I) in markAsJoined()
[all …]
DRegAllocLinearScan.cpp464 MachineInstr *CopyMI; in attemptTrivialCoalescing() local
465 if ((CopyMI = li_->getInstructionFromIndex(vni->def)) && CopyMI->isCopy()) in attemptTrivialCoalescing()
467 CandReg = CopyMI->getOperand(1).getReg(); in attemptTrivialCoalescing()
469 (CopyMI = li_->getInstructionFromIndex(range.end.getBaseIndex())) && in attemptTrivialCoalescing()
470 CopyMI->isCopy() && cur.reg == CopyMI->getOperand(1).getReg()) in attemptTrivialCoalescing()
472 CandReg = CopyMI->getOperand(0).getReg(); in attemptTrivialCoalescing()
477 if(CopyMI->getOperand(0).getSubReg()) in attemptTrivialCoalescing()
996 MachineInstr *CopyMI = li_->getInstructionFromIndex(vni->def); in assignRegOrStackSlotAtInterval() local
997 if (CopyMI && CopyMI->isCopy()) { in assignRegOrStackSlotAtInterval()
998 unsigned DstSubReg = CopyMI->getOperand(0).getSubReg(); in assignRegOrStackSlotAtInterval()
[all …]
DExpandPostRAPseudos.cpp89 MachineBasicBlock::iterator CopyMI = MI; in TransferImplicitDefs() local
90 --CopyMI; in TransferImplicitDefs()
96 CopyMI->addOperand(MachineOperand::CreateReg(MO.getReg(), true, true)); in TransferImplicitDefs()
DTwoAddressInstructionPass.cpp1390 MachineInstr *CopyMI = BuildMI(*SomeMI->getParent(), SomeMI, in CoalesceExtSubRegs() local
1402 if (UseMI == CopyMI) in CoalesceExtSubRegs()
1407 CopyMI->getOperand(1).setIsKill(); in CoalesceExtSubRegs()
1410 LV->replaceKillInstruction(SrcReg, UseMI, &*CopyMI); in CoalesceExtSubRegs()
1504 MachineInstr *CopyMI = BuildMI(*MI->getParent(), InsertLoc, in EliminateRegSequences() local
1510 LV->replaceKillInstruction(SrcReg, MI, CopyMI); in EliminateRegSequences()
1511 DEBUG(dbgs() << "Inserted: " << *CopyMI); in EliminateRegSequences()
DLiveIntervalAnalysis.cpp321 MachineInstr *CopyMI = NULL; in handleVirtualRegisterDef() local
323 CopyMI = mi; in handleVirtualRegisterDef()
326 VNInfo *ValNo = interval.getNextValue(defIndex, CopyMI, VNInfoAllocator); in handleVirtualRegisterDef()
475 MachineInstr *CopyMI = NULL; in handleVirtualRegisterDef() local
477 CopyMI = mi; in handleVirtualRegisterDef()
478 ValNo = interval.getNextValue(defIndex, CopyMI, VNInfoAllocator); in handleVirtualRegisterDef()
498 MachineInstr *CopyMI) { in handlePhysicalRegisterDef() argument
570 ValNo = interval.getNextValue(start, CopyMI, VNInfoAllocator); in handlePhysicalRegisterDef()
587 MachineInstr *CopyMI = NULL; in handleRegisterDef() local
589 CopyMI = MI; in handleRegisterDef()
[all …]
DLiveDebugVariables.cpp609 MachineInstr *CopyMI = LIS.getInstructionFromIndex(DstVNI->def); in addDefsFromCopies() local
610 assert(CopyMI && CopyMI->isCopy() && "Bad copy value"); in addDefsFromCopies()
611 unsigned LocNo = getLocationNo(CopyMI->getOperand(0)); in addDefsFromCopies()
DVirtRegRewriter.cpp1845 MachineInstr *CopyMI = BuildMI(*MBB, InsertLoc, MI->getDebugLoc(), in InsertRestores() local
1854 CopyMI->setAsmPrinterFlag(MachineInstr::ReloadReuse); in InsertRestores()
1855 UpdateKills(*CopyMI, TRI, RegKills, KillOps); in InsertRestores()
1857 DEBUG(dbgs() << '\t' << *CopyMI); in InsertRestores()
2171 MachineInstr *CopyMI = BuildMI(*MBB, InsertLoc, MI.getDebugLoc(), in ProcessUses() local
2174 CopyMI->setAsmPrinterFlag(MachineInstr::ReloadReuse); in ProcessUses()
2175 UpdateKills(*CopyMI, TRI, RegKills, KillOps); in ProcessUses()
2363 MachineInstr *CopyMI = BuildMI(*MBB, &MI, MI.getDebugLoc(), in RewriteMBB() local
2370 NextMII = CopyMI; in RewriteMBB()
DSplitKit.cpp406 MachineInstr *CopyMI = 0; in defFromParent() local
421 CopyMI = BuildMI(MBB, I, DebugLoc(), TII.get(TargetOpcode::COPY), LI->reg) in defFromParent()
423 Def = LIS.getSlotIndexes()->insertMachineInstrInMaps(CopyMI, Late) in defFromParent()
430 VNI->setCopy(CopyMI); in defFromParent()
DInlineSpiller.cpp168 bool hoistSpill(LiveInterval &SpillLI, MachineInstr *CopyMI);
666 bool InlineSpiller::hoistSpill(LiveInterval &SpillLI, MachineInstr *CopyMI) { in hoistSpill() argument
667 SlotIndex Idx = LIS.getInstructionIndex(CopyMI); in hoistSpill()
/external/llvm/lib/CodeGen/
DExpandPostRAPseudos.cpp69 MachineBasicBlock::iterator CopyMI = MI; in TransferImplicitDefs() local
70 --CopyMI; in TransferImplicitDefs()
76 CopyMI->addOperand(MachineOperand::CreateReg(MO.getReg(), true, true)); in TransferImplicitDefs()
126 MachineBasicBlock::iterator CopyMI = MI; in LowerSubregToReg() local
127 --CopyMI; in LowerSubregToReg()
128 CopyMI->addRegisterDefined(DstReg); in LowerSubregToReg()
129 DEBUG(dbgs() << "subreg: " << *CopyMI); in LowerSubregToReg()
DRegisterCoalescer.cpp178 bool adjustCopiesBackFrom(const CoalescerPair &CP, MachineInstr *CopyMI);
190 bool removeCopyByCommutingDef(const CoalescerPair &CP,MachineInstr *CopyMI);
194 bool reMaterializeTrivialDef(const CoalescerPair &CP, MachineInstr *CopyMI,
218 bool eliminateUndefCopy(MachineInstr *CopyMI);
472 MachineInstr *CopyMI) { in adjustCopiesBackFrom() argument
480 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in adjustCopiesBackFrom()
531 if (!ValSEndInst || ValSEndInst->getParent() != CopyMI->getParent()) in adjustCopiesBackFrom()
577 CopyMI->substituteRegister(IntA.reg, IntB.reg, 0, *TRI); in adjustCopiesBackFrom()
625 MachineInstr *CopyMI) { in removeCopyByCommutingDef() argument
655 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in removeCopyByCommutingDef()
[all …]
DTwoAddressInstructionPass.cpp955 auto CopyMI = MBBI++; in rescheduleMIBelowKill() local
956 MBB->splice(InsertPos, MBB, CopyMI); in rescheduleMIBelowKill()
957 LIS->handleMove(*CopyMI); in rescheduleMIBelowKill()
958 InsertPos = CopyMI; in rescheduleMIBelowKill()
1769 MachineInstr *CopyMI = BuildMI(*MI.getParent(), MI, MI.getDebugLoc(), in eliminateRegSequence() local
1777 CopyMI->getOperand(0).setIsUndef(true); in eliminateRegSequence()
1779 MBBI = CopyMI; in eliminateRegSequence()
1785 LV->replaceKillInstruction(SrcReg, MI, *CopyMI); in eliminateRegSequence()
1787 DEBUG(dbgs() << "Inserted: " << *CopyMI); in eliminateRegSequence()
DLiveDebugVariables.cpp650 MachineInstr *CopyMI = LIS.getInstructionFromIndex(DstVNI->def); in addDefsFromCopies() local
651 assert(CopyMI && CopyMI->isCopy() && "Bad copy value"); in addDefsFromCopies()
652 unsigned LocNo = getLocationNo(CopyMI->getOperand(0)); in addDefsFromCopies()
DInlineSpiller.cpp194 bool hoistSpillInsideBB(LiveInterval &SpillLI, MachineInstr &CopyMI);
351 MachineInstr &CopyMI) { in hoistSpillInsideBB() argument
352 SlotIndex Idx = LIS.getInstructionIndex(CopyMI); in hoistSpillInsideBB()
358 unsigned SrcReg = CopyMI.getOperand(1).getReg(); in hoistSpillInsideBB()
363 if (DefMBB != CopyMI.getParent() || !SrcQ.isKill()) in hoistSpillInsideBB()
DSplitKit.cpp446 MachineInstr *CopyMI = nullptr; in defFromParent() local
466 CopyMI = BuildMI(MBB, I, DebugLoc(), TII.get(TargetOpcode::COPY), LI->reg) in defFromParent()
469 ->insertMachineInstrInMaps(*CopyMI, Late) in defFromParent()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
DExpandPostRAPseudos.cpp68 MachineBasicBlock::iterator CopyMI = MI; in TransferImplicitOperands() local
69 --CopyMI; in TransferImplicitOperands()
73 CopyMI->addOperand(MO); in TransferImplicitOperands()
122 MachineBasicBlock::iterator CopyMI = MI; in LowerSubregToReg() local
123 --CopyMI; in LowerSubregToReg()
124 CopyMI->addRegisterDefined(DstReg); in LowerSubregToReg()
125 LLVM_DEBUG(dbgs() << "subreg: " << *CopyMI); in LowerSubregToReg()
DRegisterCoalescer.cpp165 bool joinCopy(MachineInstr *CopyMI, bool &Again);
195 bool adjustCopiesBackFrom(const CoalescerPair &CP, MachineInstr *CopyMI);
207 bool removeCopyByCommutingDef(const CoalescerPair &CP,MachineInstr *CopyMI);
210 bool removePartialRedundancy(const CoalescerPair &CP, MachineInstr &CopyMI);
214 bool reMaterializeTrivialDef(const CoalescerPair &CP, MachineInstr *CopyMI,
240 MachineInstr *eliminateUndefCopy(MachineInstr *CopyMI);
506 MachineInstr *CopyMI) { in adjustCopiesBackFrom() argument
514 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in adjustCopiesBackFrom()
565 if (!ValSEndInst || ValSEndInst->getParent() != CopyMI->getParent()) in adjustCopiesBackFrom()
616 CopyMI->substituteRegister(IntA.reg, IntB.reg, 0, *TRI); in adjustCopiesBackFrom()
[all …]
DTwoAddressInstructionPass.cpp997 auto CopyMI = MBBI++; in rescheduleMIBelowKill() local
998 MBB->splice(InsertPos, MBB, CopyMI); in rescheduleMIBelowKill()
999 LIS->handleMove(*CopyMI); in rescheduleMIBelowKill()
1000 InsertPos = CopyMI; in rescheduleMIBelowKill()
1831 MachineInstr *CopyMI = BuildMI(*MI.getParent(), MI, MI.getDebugLoc(), in eliminateRegSequence() local
1839 CopyMI->getOperand(0).setIsUndef(true); in eliminateRegSequence()
1841 MBBI = CopyMI; in eliminateRegSequence()
1847 LV->replaceKillInstruction(SrcReg, MI, *CopyMI); in eliminateRegSequence()
1849 LLVM_DEBUG(dbgs() << "Inserted: " << *CopyMI); in eliminateRegSequence()
DInlineSpiller.cpp214 bool hoistSpillInsideBB(LiveInterval &SpillLI, MachineInstr &CopyMI);
369 MachineInstr &CopyMI) { in hoistSpillInsideBB() argument
370 SlotIndex Idx = LIS.getInstructionIndex(CopyMI); in hoistSpillInsideBB()
376 unsigned SrcReg = CopyMI.getOperand(1).getReg(); in hoistSpillInsideBB()
381 if (DefMBB != CopyMI.getParent() || !SrcQ.isKill()) in hoistSpillInsideBB()
DLiveDebugVariables.cpp713 MachineInstr *CopyMI = LIS.getInstructionFromIndex(DstVNI->def); in addDefsFromCopies() local
714 assert(CopyMI && CopyMI->isCopy() && "Bad copy value"); in addDefsFromCopies()
715 unsigned LocNo = getLocationNo(CopyMI->getOperand(0)); in addDefsFromCopies()
DSplitKit.cpp518 MachineInstr *CopyMI = BuildMI(MBB, InsertBefore, DebugLoc(), Desc) in buildSingleSubRegCopy() local
526 Def = Indexes.insertMachineInstrInMaps(*CopyMI, Late).getRegSlot(); in buildSingleSubRegCopy()
528 CopyMI->bundleWithPred(); in buildSingleSubRegCopy()
544 MachineInstr *CopyMI = in buildCopy() local
547 return Indexes.insertMachineInstrInMaps(*CopyMI, Late).getRegSlot(); in buildCopy()
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/
DLiveInterval.h297 VNInfo *getNextValue(SlotIndex def, MachineInstr *CopyMI,
300 new (VNInfoAllocator) VNInfo((unsigned)valnos.size(), def, CopyMI);
DLiveIntervalAnalysis.h355 MachineInstr *CopyMI);
/external/swiftshader/third_party/llvm-7.0/llvm/test/CodeGen/AMDGPU/
Dcoalescer-subranges-another-copymi-not-live.mir4 # Assertion failed: (ValNo && "CopyMI input register not live"), function reMaterializeTrivialDef, …
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/SelectionDAG/
DInstrEmitter.cpp559 MachineInstrBuilder CopyMI = in EmitSubregNode() local
563 CopyMI.addReg(Reg, 0, SubIdx); in EmitSubregNode()
565 CopyMI.addReg(TRI->getSubReg(Reg, SubIdx)); in EmitSubregNode()