Home
last modified time | relevance | path

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

123

/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyPeephole.cpp61 static bool maybeRewriteToDrop(unsigned OldReg, unsigned NewReg, in maybeRewriteToDrop() argument
65 if (OldReg == NewReg) { in maybeRewriteToDrop()
67 Register NewReg = MRI.createVirtualRegister(MRI.getRegClass(OldReg)); in maybeRewriteToDrop() local
68 MO.setReg(NewReg); in maybeRewriteToDrop()
70 MFI.stackifyVReg(MRI, NewReg); in maybeRewriteToDrop()
100 Register NewReg = MRI.createVirtualRegister(RegClass); in maybeRewriteToFallthrough() local
101 BuildMI(MBB, MI, MI.getDebugLoc(), TII.get(CopyLocalOpc), NewReg) in maybeRewriteToFallthrough()
103 MO.setReg(NewReg); in maybeRewriteToFallthrough()
104 MFI.stackifyVReg(MRI, NewReg); in maybeRewriteToFallthrough()
147 Register NewReg = Op2.getReg(); in runOnMachineFunction() local
[all …]
H A DWebAssemblyExplicitLocals.cpp306 Register NewReg = MRI.createVirtualRegister(RC); in runOnMachineFunction() local
310 MI.getOperand(2).setReg(NewReg); in runOnMachineFunction()
311 MFI.stackifyVReg(MRI, NewReg); in runOnMachineFunction()
335 Register NewReg = MRI.createVirtualRegister(RC); in runOnMachineFunction() local
341 .addReg(NewReg); in runOnMachineFunction()
354 .addReg(NewReg); in runOnMachineFunction()
359 Def.setReg(NewReg); in runOnMachineFunction()
361 MFI.stackifyVReg(MRI, NewReg); in runOnMachineFunction()
407 Register NewReg = MRI.createVirtualRegister(RC); in runOnMachineFunction() local
417 MO.setReg(NewReg); in runOnMachineFunction()
[all …]
H A DWebAssemblyDebugValueManager.cpp355 Register NewReg, in cloneSink() argument
371 if (NewReg != CurrentReg && NewReg.isValid()) in cloneSink()
372 Clone->getOperand(0).setReg(NewReg); in cloneSink()
387 if (NewReg != CurrentReg && NewReg.isValid()) in cloneSink()
390 MO.setReg(NewReg); in cloneSink()
H A DWebAssemblyRegStackify.cpp538 Register NewReg = MRI.createVirtualRegister(MRI.getRegClass(Reg)); in moveForSingleUse() local
539 Op.setReg(NewReg); in moveForSingleUse()
540 DefDIs.updateReg(NewReg); in moveForSingleUse()
543 LIS.createAndComputeVirtRegInterval(NewReg); in moveForSingleUse()
551 MFI.stackifyVReg(MRI, NewReg); in moveForSingleUse()
579 Register NewReg = MRI.createVirtualRegister(MRI.getRegClass(Reg)); in rematerializeCheapDef() local
580 DefDIs.cloneSink(&*Insert, NewReg); in rematerializeCheapDef()
581 Op.setReg(NewReg); in rematerializeCheapDef()
585 LIS.createAndComputeVirtRegInterval(NewReg); in rematerializeCheapDef()
586 MFI.stackifyVReg(MRI, NewReg); in rematerializeCheapDef()
H A DWebAssemblyDebugValueManager.h44 void cloneSink(MachineInstr *Insert, Register NewReg = Register(),
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DCriticalAntiDepBreaker.cpp370 CheckOper.getReg() != NewReg) in isNewRegClobberedByRefs()
400 for (unsigned NewReg : Order) { in findSuitableFreeRegister() local
402 if (NewReg == AntiDepReg) continue; in findSuitableFreeRegister()
406 if (NewReg == LastNewReg) continue; in findSuitableFreeRegister()
415 assert(((KillIndices[NewReg] == ~0u) != (DefIndices[NewReg] == ~0u)) in findSuitableFreeRegister()
417 if (KillIndices[NewReg] != ~0u || in findSuitableFreeRegister()
424 if (TRI->regsOverlap(NewReg, R)) { in findSuitableFreeRegister()
429 return NewReg; in findSuitableFreeRegister()
655 Q->second->setReg(NewReg); in BreakAntiDependencies()
662 AntiDepReg, NewReg); in BreakAntiDependencies()
[all …]
H A DAggressiveAntiDepBreaker.cpp638 unsigned NewReg = 0; in FindSuitableFreeRegisters() local
640 NewReg = NewSuperReg; in FindSuitableFreeRegisters()
650 if (!RenameRegisterMap[Reg].test(NewReg)) { in FindSuitableFreeRegisters()
659 if (State->IsLive(NewReg) || (KillIndices[Reg] > DefIndices[NewReg])) { in FindSuitableFreeRegisters()
700 if (DefMI->readsRegister(NewReg, TRI)) { in FindSuitableFreeRegisters()
914 unsigned NewReg = P.second; in BreakAntiDependencies() local
923 Q.second.Operand->setReg(NewReg); in BreakAntiDependencies()
930 AntiDepReg, NewReg); in BreakAntiDependencies()
936 State->UnionGroups(NewReg, 0); in BreakAntiDependencies()
937 RegRefs.erase(NewReg); in BreakAntiDependencies()
[all …]
H A DMachineCSE.cpp636 Register NewReg = CSMI->getOperand(i).getReg(); in ProcessBlockCSE() local
648 if (OldReg == NewReg) { in ProcessBlockCSE()
653 assert(OldReg.isVirtual() && NewReg.isVirtual() && in ProcessBlockCSE()
665 if (!MRI->constrainRegAttrs(NewReg, OldReg)) { in ProcessBlockCSE()
672 CSEPairs.push_back(std::make_pair(OldReg, NewReg)); in ProcessBlockCSE()
680 unsigned NewReg = CSEPair.second; in ProcessBlockCSE() local
684 Def->clearRegisterDeads(NewReg); in ProcessBlockCSE()
686 MRI->replaceRegWith(OldReg, NewReg); in ProcessBlockCSE()
687 MRI->clearKillFlags(NewReg); in ProcessBlockCSE()
881 if (!isProfitableToCSE(NewReg, VReg, CMBB, &MI)) in ProcessBlockPRE()
[all …]
H A DModuloSchedule.cpp417 unsigned NewReg = 0; in generateExistingPhis() local
517 NewReg = PhiOp2; in generateExistingPhis()
530 PhiOp2 = NewReg; in generateExistingPhis()
568 NewReg); in generateExistingPhis()
579 PhiOp2 = NewReg; in generateExistingPhis()
703 PhiOp2 = NewReg; in generatePhis()
1036 MO.setReg(NewReg); in updateInstruction()
1171 ReplaceReg = NewReg; in rewriteScheduledInstr()
1176 ReplaceReg = NewReg; in rewriteScheduledInstr()
1178 ReplaceReg = NewReg; in rewriteScheduledInstr()
[all …]
H A DTailDuplicator.cpp331 void TailDuplicator::addSSAUpdateEntry(Register OrigReg, Register NewReg, in addSSAUpdateEntry() argument
336 LI->second.push_back(std::make_pair(BB, NewReg)); in addSSAUpdateEntry()
339 Vals.push_back(std::make_pair(BB, NewReg)); in addSSAUpdateEntry()
404 Register NewReg = MRI->createVirtualRegister(RC); in duplicateInstruction() local
405 MO.setReg(NewReg); in duplicateInstruction()
406 LocalVRMap.insert(std::make_pair(Reg, RegSubRegPair(NewReg, 0))); in duplicateInstruction()
408 addSSAUpdateEntry(Reg, NewReg, PredBB); in duplicateInstruction()
451 Register NewReg = MRI->createVirtualRegister(OrigRC); in duplicateInstruction() local
453 TII->get(TargetOpcode::COPY), NewReg) in duplicateInstruction()
456 LocalVRMap.insert(std::make_pair(Reg, RegSubRegPair(NewReg, 0))); in duplicateInstruction()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/
H A DCSKYRegisterInfo.cpp199 Register NewReg = STI.hasE2() in eliminateFrameIndex() local
210 .addReg(NewReg, getKillRegState(true)) in eliminateFrameIndex()
219 Register NewReg; in eliminateFrameIndex() local
221 NewReg = MRI.createVirtualRegister(&CSKY::GPRRegClass); in eliminateFrameIndex()
222 BuildMI(MBB, II, DL, TII->get(CSKY::MVC32), NewReg) in eliminateFrameIndex()
225 NewReg = MRI.createVirtualRegister(&CSKY::mGPRRegClass); in eliminateFrameIndex()
228 .addReg(NewReg, RegState::Define) in eliminateFrameIndex()
230 .addReg(NewReg, getKillRegState(true)) in eliminateFrameIndex()
231 .addReg(NewReg, getKillRegState(true)) in eliminateFrameIndex()
235 .addReg(NewReg) in eliminateFrameIndex()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DAntiDepBreaker.h59 void UpdateDbgValue(MachineInstr &MI, unsigned OldReg, unsigned NewReg) { in UpdateDbgValue() argument
63 MI.getDebugOperand(0).setReg(NewReg); in UpdateDbgValue()
67 MI.getOperand(0).setReg(NewReg); in UpdateDbgValue()
76 unsigned OldReg, unsigned NewReg) { in UpdateDbgValues() argument
84 UpdateDbgValue(*DbgMI, OldReg, NewReg); in UpdateDbgValues()
H A DMachineRegisterInfo.h60 virtual void MRI_NoteCloneVirtualRegister(Register NewReg, in MRI_NoteCloneVirtualRegister() argument
62 MRI_NoteNewVirtualRegister(NewReg); in MRI_NoteCloneVirtualRegister()
182 void noteCloneVirtualRegister(Register NewReg, Register SrcReg) { in noteCloneVirtualRegister() argument
184 TheDelegate->MRI_NoteCloneVirtualRegister(NewReg, SrcReg); in noteCloneVirtualRegister()
853 void updateDbgUsersToReg(MCRegister OldReg, MCRegister NewReg, in updateDbgUsersToReg() argument
857 auto UpdateOp = [this, &NewReg, &OldReg](MachineOperand &Op) { in updateDbgUsersToReg()
860 Op.setReg(NewReg); in updateDbgUsersToReg()
869 assert(MI->hasDebugOperandForReg(NewReg) && in updateDbgUsersToReg()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIOptimizeVGPRLiveRange.cpp127 Register Reg, Register NewReg, MachineBasicBlock *Flow,
470 Register Reg, Register NewReg, MachineBasicBlock *Flow, in updateLiveRangeInElseRegion() argument
473 LiveVariables::VarInfo &NewVarInfo = LV->getVarInfo(NewReg); in updateLiveRangeInElseRegion()
507 Register NewReg = MRI->createVirtualRegister(RC); in optimizeLiveRange() local
526 O.setReg(NewReg); in optimizeLiveRange()
541 O.setReg(NewReg); in optimizeLiveRange()
559 Register NewReg = MRI->createVirtualRegister(RC); in optimizeWaterfallLiveRange() local
569 O.setReg(NewReg); in optimizeWaterfallLiveRange()
574 TII->get(TargetOpcode::PHI), NewReg); in optimizeWaterfallLiveRange()
588 if (MI->readsRegister(NewReg, TRI)) { in optimizeWaterfallLiveRange()
[all …]
H A DGCNRewritePartialRegUses.cpp122 void updateLiveIntervals(Register OldReg, Register NewReg,
349 Register NewReg, in updateLiveIntervals() argument
355 auto &NewLI = LIS->createEmptyInterval(NewReg); in updateLiveIntervals()
385 LIS->removeInterval(NewReg); in updateLiveIntervals()
386 LIS->createAndComputeVirtRegInterval(NewReg); in updateLiveIntervals()
457 Register NewReg = MRI->createVirtualRegister(NewRC); in rewriteReg() local
460 << printReg(NewReg, TRI) << ':' in rewriteReg()
464 MO.setReg(NewReg); in rewriteReg()
476 updateLiveIntervals(Reg, NewReg, SubRegs); in rewriteReg()
H A DSIMachineFunctionInfo.cpp321 Register NewReg = in shiftSpillPhysVGPRsToLowestRange() local
323 if (!NewReg || NewReg >= Reg) in shiftSpillPhysVGPRsToLowestRange()
326 MRI.replaceRegWith(Reg, NewReg); in shiftSpillPhysVGPRsToLowestRange()
329 SpillPhysVGPRs[I] = NewReg; in shiftSpillPhysVGPRsToLowestRange()
331 WWMReservedRegs.insert(NewReg); in shiftSpillPhysVGPRsToLowestRange()
332 WWMSpills.insert(std::make_pair(NewReg, WWMSpills[Reg])); in shiftSpillPhysVGPRsToLowestRange()
579 void SIMachineFunctionInfo::MRI_NoteCloneVirtualRegister(Register NewReg, in MRI_NoteCloneVirtualRegister() argument
581 VRegFlags.grow(NewReg); in MRI_NoteCloneVirtualRegister()
582 VRegFlags[NewReg] = VRegFlags[SrcReg]; in MRI_NoteCloneVirtualRegister()
H A DSILowerI1Copies.cpp75 void replaceDstReg(Register NewReg, Register OldReg,
641 Register NewReg = SSAUpdater.GetValueInMiddleOfBlock(&MBB); in lowerPhis() local
642 if (NewReg != DstReg) { in lowerPhis()
643 replaceDstReg(NewReg, DstReg, &MBB); in lowerPhis()
845 void Vreg1LoweringHelper::replaceDstReg(Register NewReg, Register OldReg, in replaceDstReg() argument
847 MRI->replaceRegWith(NewReg, OldReg); in replaceDstReg()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVMakeCompressible.cpp280 Register NewReg) { in updateOperands() argument
309 MO.setReg(NewReg); in updateOperands()
344 Register NewReg = analyzeCompressibleUses(MI, RegImm, MIs); in runOnMachineFunction() local
345 if (!NewReg) in runOnMachineFunction()
351 BuildMI(MBB, MI, MI.getDebugLoc(), TII.get(RISCV::ADDI), NewReg) in runOnMachineFunction()
363 BuildMI(MBB, MI, MI.getDebugLoc(), TII.get(Opcode), NewReg) in runOnMachineFunction()
374 updateOperands(*UpdateMI, RegImm, NewReg); in runOnMachineFunction()
H A DRISCVRVVInitUndef.cpp211 Register NewReg = MRI->createVirtualRegister(TargetRegClass); in handleSubReg() local
213 TII->get(TargetOpcode::INSERT_SUBREG), NewReg) in handleSubReg()
217 LatestReg = NewReg; in handleSubReg()
235 Register NewReg = MRI->createVirtualRegister(TargetRegClass); in fixupIllOperand() local
236 BuildMI(*MI->getParent(), MI, MI->getDebugLoc(), TII->get(Opcode), NewReg); in fixupIllOperand()
237 MO.setReg(NewReg); in fixupIllOperand()
/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVMCInstLower.cpp43 Register NewReg = MAI->getRegisterAlias(MF, MO.getReg()); in lower() local
44 MCOp = MCOperand::createReg(NewReg.isValid() ? NewReg : MO.getReg()); in lower()
H A DSPIRVPreLegalizer.cpp226 Register NewReg = MRI.createGenericVirtualRegister(MRI.getType(Reg)); in insertAssignInstr() local
228 MRI.setRegClass(NewReg, RC); in insertAssignInstr()
230 MRI.setRegClass(NewReg, &SPIRV::IDRegClass); in insertAssignInstr()
237 GR->assignSPIRVTypeToVReg(SpirvTy, NewReg, MIB.getMF()); in insertAssignInstr()
243 .addUse(NewReg) in insertAssignInstr()
246 Def->getOperand(0).setReg(NewReg); in insertAssignInstr()
247 return NewReg; in insertAssignInstr()
375 auto NewReg = createNewIdReg(MI.getOperand(0).getReg(), Opc, MRI, *GR).first; in processInstr() local
376 AssignTypeInst.getOperand(1).setReg(NewReg); in processInstr()
377 MI.getOperand(0).setReg(NewReg); in processInstr()
H A DSPIRVModuleAnalysis.h199 Register NewReg = Register::index2VirtReg(getNextID()); in getOrCreateMBBRegister() local
200 BBNumToRegMap[MBB.getNumber()] = NewReg; in getOrCreateMBBRegister()
201 return NewReg; in getOrCreateMBBRegister()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64DeadRegisterDefinitionsPass.cpp160 unsigned NewReg; in processMachineBasicBlock() local
165 NewReg = AArch64::WZR; in processMachineBasicBlock()
167 NewReg = AArch64::XZR; in processMachineBasicBlock()
173 MO.setReg(NewReg); in processMachineBasicBlock()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DLocalizer.cpp136 Register NewReg = MRI->cloneVirtualRegister(Reg); in localizeInterBlock() local
137 LocalizedMI->getOperand(0).setReg(NewReg); in localizeInterBlock()
139 MBBWithLocalDef.insert(std::make_pair(MBBAndReg, NewReg)).first; in localizeInterBlock()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DA15SDOptimizer.cpp625 unsigned NewReg = optimizeSDPattern(MI); in runOnInstruction() local
627 if (NewReg != 0) { in runOnInstruction()
635 MRI->constrainRegClass(NewReg, MRI->getRegClass(Use->getReg())); in runOnInstruction()
638 << printReg(NewReg) << "\n"); in runOnInstruction()
639 Use->substVirtReg(NewReg, 0, *TRI); in runOnInstruction()
642 Replacements[MI] = NewReg; in runOnInstruction()

123