/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
H A D | WebAssemblyPeephole.cpp | 61 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 D | WebAssemblyExplicitLocals.cpp | 306 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 D | WebAssemblyDebugValueManager.cpp | 355 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 D | WebAssemblyRegStackify.cpp | 538 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 D | WebAssemblyDebugValueManager.h | 44 void cloneSink(MachineInstr *Insert, Register NewReg = Register(),
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | CriticalAntiDepBreaker.cpp | 370 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 D | AggressiveAntiDepBreaker.cpp | 638 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 D | MachineCSE.cpp | 636 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 D | ModuloSchedule.cpp | 417 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 D | TailDuplicator.cpp | 331 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 D | CSKYRegisterInfo.cpp | 199 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 D | AntiDepBreaker.h | 59 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 D | MachineRegisterInfo.h | 60 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 D | SIOptimizeVGPRLiveRange.cpp | 127 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 D | GCNRewritePartialRegUses.cpp | 122 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 D | SIMachineFunctionInfo.cpp | 321 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 D | SILowerI1Copies.cpp | 75 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 D | RISCVMakeCompressible.cpp | 280 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 D | RISCVRVVInitUndef.cpp | 211 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 D | SPIRVMCInstLower.cpp | 43 Register NewReg = MAI->getRegisterAlias(MF, MO.getReg()); in lower() local 44 MCOp = MCOperand::createReg(NewReg.isValid() ? NewReg : MO.getReg()); in lower()
|
H A D | SPIRVPreLegalizer.cpp | 226 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 D | SPIRVModuleAnalysis.h | 199 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 D | AArch64DeadRegisterDefinitionsPass.cpp | 160 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 D | Localizer.cpp | 136 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 D | A15SDOptimizer.cpp | 625 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()
|