Home
last modified time | relevance | path

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

123456

/freebsd/contrib/llvm-project/llvm/lib/Target/AVR/
H A DAVRExpandPseudoInsts.cpp61 Register DstReg) { in buildMI() argument
62 return BuildMI(MBB, MBBI, MBBI->getDebugLoc(), TII->get(Opcode), DstReg); in buildMI()
154 Register DstReg = MI.getOperand(0).getReg(); in expandArith() local
161 TRI->splitReg(DstReg, DstLoReg, DstHiReg); in expandArith()
187 Register DstReg = MI.getOperand(0).getReg(); in expandLogic() local
194 TRI->splitReg(DstReg, DstLoReg, DstHiReg); in expandLogic()
247 Register DstReg = MI.getOperand(0).getReg(); in expandLogicImm() local
254 TRI->splitReg(DstReg, DstLoReg, DstHiReg); in expandLogicImm()
307 Register DstReg = MI.getOperand(0).getReg(); in expand() local
311 TRI->splitReg(DstReg, DstLoReg, DstHiReg); in expand()
[all …]
H A DAVRRegisterInfo.cpp113 Register DstReg) { in foldFrameOffset() argument
124 if (DstReg != MI.getOperand(0).getReg()) { in foldFrameOffset()
169 Register DstReg = MI.getOperand(0).getReg(); in eliminateFrameIndex() local
170 assert(DstReg != AVR::R29R28 && "Dest reg cannot be the frame pointer"); in eliminateFrameIndex()
174 BuildMI(MBB, MI, dl, TII.get(AVR::MOVWRdRr), DstReg) in eliminateFrameIndex()
178 splitReg(DstReg, DstLoReg, DstHiReg); in eliminateFrameIndex()
201 foldFrameOffset(II, Offset, DstReg); in eliminateFrameIndex()
204 switch (DstReg) { in eliminateFrameIndex()
222 MachineInstr *New = BuildMI(MBB, II, dl, TII.get(Opcode), DstReg) in eliminateFrameIndex()
223 .addReg(DstReg, RegState::Kill) in eliminateFrameIndex()
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/
H A DCSKYInstrInfo.cpp233 Register DstReg; in movImm() local
235 DstReg = MRI.createVirtualRegister(&CSKY::GPRRegClass); in movImm()
238 BuildMI(MBB, MBBI, DL, get(CSKY::MOVI32), DstReg) in movImm()
242 BuildMI(MBB, MBBI, DL, get(CSKY::MOVIH32), DstReg) in movImm()
246 BuildMI(MBB, MBBI, DL, get(CSKY::MOVIH32), DstReg) in movImm()
249 BuildMI(MBB, MBBI, DL, get(CSKY::ORI32), DstReg) in movImm()
250 .addReg(DstReg) in movImm()
256 DstReg = MRI.createVirtualRegister(&CSKY::mGPRRegClass); in movImm()
258 BuildMI(MBB, MBBI, DL, get(CSKY::MOVI16), DstReg) in movImm()
262 BuildMI(MBB, MBBI, DL, get(CSKY::MOVI16), DstReg) in movImm()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DLegalizationArtifactCombiner.h67 Register DstReg = MI.getOperand(0).getReg(); in tryCombineAnyExt() local
74 if (MRI.getType(DstReg) == MRI.getType(TruncSrc)) in tryCombineAnyExt()
75 replaceRegOrBuildCopy(DstReg, TruncSrc, MRI, Builder, UpdatedDefs, in tryCombineAnyExt()
78 Builder.buildAnyExtOrTrunc(DstReg, TruncSrc); in tryCombineAnyExt()
79 UpdatedDefs.push_back(DstReg); in tryCombineAnyExt()
91 Builder.buildInstr(ExtMI->getOpcode(), {DstReg}, {ExtSrc}); in tryCombineAnyExt()
92 UpdatedDefs.push_back(DstReg); in tryCombineAnyExt()
100 const LLT DstTy = MRI.getType(DstReg); in tryCombineAnyExt()
109 DstReg, CstVal.getCImm()->getValue().sext(DstTy.getSizeInBits())); in tryCombineAnyExt()
110 UpdatedDefs.push_back(DstReg); in tryCombineAnyExt()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/
H A DHexagonMCDuplexInfo.cpp190 unsigned DstReg, PredReg, SrcReg, Src1Reg, Src2Reg; in getDuplexCandidateGroup() local
201 DstReg = MCI.getOperand(0).getReg(); in getDuplexCandidateGroup()
205 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg)) { in getDuplexCandidateGroup()
219 DstReg = MCI.getOperand(0).getReg(); in getDuplexCandidateGroup()
221 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg) && in getDuplexCandidateGroup()
240 DstReg = MCI.getOperand(0).getReg(); in getDuplexCandidateGroup()
242 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg) && in getDuplexCandidateGroup()
250 DstReg = MCI.getOperand(0).getReg(); in getDuplexCandidateGroup()
252 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg) && in getDuplexCandidateGroup()
260 DstReg = MCI.getOperand(0).getReg(); in getDuplexCandidateGroup()
[all …]
H A DHexagonMCCompound.cpp81 unsigned DstReg, SrcReg, Src1Reg, Src2Reg; in getCompoundCandidateGroup() local
97 DstReg = MI.getOperand(0).getReg(); in getCompoundCandidateGroup()
100 if ((Hexagon::P0 == DstReg || Hexagon::P1 == DstReg) && in getCompoundCandidateGroup()
111 DstReg = MI.getOperand(0).getReg(); in getCompoundCandidateGroup()
113 if ((Hexagon::P0 == DstReg || Hexagon::P1 == DstReg) && in getCompoundCandidateGroup()
123 DstReg = MI.getOperand(0).getReg(); in getCompoundCandidateGroup()
125 if (HexagonMCInstrInfo::isIntRegForSubInst(DstReg) && in getCompoundCandidateGroup()
133 DstReg = MI.getOperand(0).getReg(); in getCompoundCandidateGroup()
136 HexagonMCInstrInfo::isIntRegForSubInst(DstReg)) in getCompoundCandidateGroup()
142 DstReg = MI.getOperand(0).getReg(); in getCompoundCandidateGroup()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSILowerI1Copies.cpp69 void markAsLaneMask(Register DstReg) const override;
79 Register DstReg, Register PrevReg,
477 Register DstReg = MI.getOperand(0).getReg(); in lowerCopiesFromI1() local
482 if (isLaneMaskReg(DstReg) || isVreg1(DstReg)) in lowerCopiesFromI1()
491 assert(isVRegCompatibleReg(TII->getRegisterInfo(), *MRI, DstReg)); in lowerCopiesFromI1()
495 BuildMI(MBB, MI, DL, TII->get(AMDGPU::V_CNDMASK_B32_e64), DstReg) in lowerCopiesFromI1()
562 Register DstReg = MI->getOperand(0).getReg(); in lowerPhis() local
563 markAsLaneMask(DstReg); in lowerPhis()
564 initializeLaneMaskRegisterAttributes(DstReg); in lowerPhis()
578 PhiRegisters.insert(DstReg); in lowerPhis()
[all …]
H A DAMDGPUGlobalISelDivergenceLowering.cpp68 void markAsLaneMask(Register DstReg) const override;
78 Register DstReg, Register PrevReg,
89 void DivergenceLoweringHelper::markAsLaneMask(Register DstReg) const { in markAsLaneMask()
90 assert(MRI->getType(DstReg) == LLT::scalar(1)); in markAsLaneMask()
92 if (MRI->getRegClassOrNull(DstReg)) { in markAsLaneMask()
93 if (MRI->constrainRegClass(DstReg, ST->getBoolRC())) in markAsLaneMask()
98 MRI->setRegClass(DstReg, ST->getBoolRC()); in markAsLaneMask()
165 Register DstReg, Register PrevReg, Register CurReg) { in buildMergeLaneMasks() argument
177 B.buildInstr(OrOp, {DstReg}, {PrevMaskedReg, CurMaskedReg}); in buildMergeLaneMasks()
H A DR600ExpandSpecialInstrs.cpp126 Register DstReg = MI.getOperand(0).getReg(); in runOnMachineFunction() local
127 unsigned DstBase = TRI.getEncodingValue(DstReg) & HW_REG_MASK; in runOnMachineFunction()
130 bool Mask = (Chan != TRI.getHWRegChan(DstReg)); in runOnMachineFunction()
196 Register DstReg = in runOnMachineFunction() local
226 DstReg = TRI.getSubReg(DstReg, SubRegIndex); in runOnMachineFunction()
230 Mask = (Chan != TRI.getHWRegChan(DstReg)); in runOnMachineFunction()
231 unsigned DstBase = TRI.getEncodingValue(DstReg) & HW_REG_MASK; in runOnMachineFunction()
232 DstReg = R600::R600_TReg32RegClass.getRegister((DstBase * 4) + Chan); in runOnMachineFunction()
252 TII->buildDefaultInstruction(MBB, I, Opcode, DstReg, Src0, Src1); in runOnMachineFunction()
H A DSIFixSGPRCopies.cpp192 Register DstReg = Copy.getOperand(0).getReg(); in getCopyRegClasses() local
202 const TargetRegisterClass *DstRC = DstReg.isVirtual() in getCopyRegClasses()
203 ? MRI.getRegClass(DstReg) in getCopyRegClasses()
204 : TRI.getPhysRegBaseClass(DstReg); in getCopyRegClasses()
228 Register DstReg = MI.getOperand(0).getReg(); in tryChangeVGPRtoSGPRinCopy() local
230 if (!SrcReg.isVirtual() || !DstReg.isVirtual()) in tryChangeVGPRtoSGPRinCopy()
233 for (const auto &MO : MRI.reg_nodbg_operands(DstReg)) { in tryChangeVGPRtoSGPRinCopy()
247 MRI.setRegClass(DstReg, TRI->getEquivalentSGPRClass(MRI.getRegClass(DstReg))); in tryChangeVGPRtoSGPRinCopy()
270 Register DstReg = MI.getOperand(0).getReg(); in foldVGPRCopyIntoRegSequence() local
271 if (!TRI->isSGPRClass(MRI.getRegClass(DstReg))) in foldVGPRCopyIntoRegSequence()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchInstrInfo.cpp41 const DebugLoc &DL, MCRegister DstReg, in copyPhysReg() argument
43 if (LoongArch::GPRRegClass.contains(DstReg, SrcReg)) { in copyPhysReg()
44 BuildMI(MBB, MBBI, DL, get(LoongArch::OR), DstReg) in copyPhysReg()
51 if (LoongArch::LSX128RegClass.contains(DstReg, SrcReg)) { in copyPhysReg()
52 BuildMI(MBB, MBBI, DL, get(LoongArch::VORI_B), DstReg) in copyPhysReg()
59 if (LoongArch::LASX256RegClass.contains(DstReg, SrcReg)) { in copyPhysReg()
60 BuildMI(MBB, MBBI, DL, get(LoongArch::XVORI_B), DstReg) in copyPhysReg()
67 if (LoongArch::CFRRegClass.contains(DstReg) && in copyPhysReg()
69 BuildMI(MBB, MBBI, DL, get(LoongArch::MOVGR2CF), DstReg) in copyPhysReg()
74 if (LoongArch::GPRRegClass.contains(DstReg) && in copyPhysReg()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonPeephole.cpp135 Register DstReg = Dst.getReg(); in runOnMachineFunction() local
138 if (DstReg.isVirtual() && SrcReg.isVirtual()) { in runOnMachineFunction()
142 PeepholeMap[DstReg] = SrcReg; in runOnMachineFunction()
155 Register DstReg = Dst.getReg(); in runOnMachineFunction() local
157 PeepholeMap[DstReg] = SrcReg; in runOnMachineFunction()
172 Register DstReg = Dst.getReg(); in runOnMachineFunction() local
174 PeepholeDoubleRegsMap[DstReg] = in runOnMachineFunction()
183 Register DstReg = Dst.getReg(); in runOnMachineFunction() local
186 if (DstReg.isVirtual() && SrcReg.isVirtual()) { in runOnMachineFunction()
190 PeepholeMap[DstReg] = SrcReg; in runOnMachineFunction()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/GISel/
H A DX86InstructionSelector.cpp111 const unsigned DstReg,
124 bool emitInsertSubreg(unsigned DstReg, unsigned SrcReg, MachineInstr &I,
127 bool emitExtractSubreg(unsigned DstReg, unsigned SrcReg, MachineInstr &I,
279 Register DstReg = I.getOperand(0).getReg(); in selectCopy() local
280 const unsigned DstSize = RBI.getSizeInBits(DstReg, MRI, TRI); in selectCopy()
281 const RegisterBank &DstRegBank = *RBI.getRegBank(DstReg, MRI, TRI); in selectCopy()
287 if (DstReg.isPhysical()) { in selectCopy()
295 const TargetRegisterClass *DstRC = getRegClassFromGRPhysReg(DstReg); in selectCopy()
324 getRegClass(MRI.getType(DstReg), DstRegBank); in selectCopy()
342 const TargetRegisterClass *OldRC = MRI.getRegClassOrNull(DstReg); in selectCopy()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86InstructionSelector.cpp
/freebsd/contrib/llvm-project/llvm/lib/Target/BPF/
H A DBPFMISimplifyPatchable.cpp66 MachineInstr &MI, Register &SrcReg, Register &DstReg,
68 void processDstReg(MachineRegisterInfo *MRI, Register &DstReg,
192 Register &DstReg, const GlobalValue *GVal, bool IsAma) { in processCandidate() argument
193 if (MRI->getRegClass(DstReg) == &BPF::GPR32RegClass) { in processCandidate()
201 auto Begin = MRI->use_begin(DstReg), End = MRI->use_end(); in processCandidate()
211 processDstReg(MRI, TmpReg, DstReg, GVal, false, IsAma); in processCandidate()
216 BuildMI(MBB, MI, MI.getDebugLoc(), TII->get(BPF::COPY), DstReg) in processCandidate()
222 processDstReg(MRI, DstReg, SrcReg, GVal, true, IsAma); in processCandidate()
226 Register &DstReg, Register &SrcReg, const GlobalValue *GVal, in processDstReg() argument
228 auto Begin = MRI->use_begin(DstReg), End = MRI->use_end(); in processDstReg()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/GISel/
H A DRISCVInstructionSelector.cpp278 Register DstReg = MRI.createVirtualRegister(&RISCV::GPRRegClass); in selectSHXADDOp() local
281 .buildInstr(RISCV::SRLI, {DstReg}, {RegY}) in selectSHXADDOp()
283 MIB.addReg(DstReg); in selectSHXADDOp()
290 Register DstReg = MRI.createVirtualRegister(&RISCV::GPRRegClass); in selectSHXADDOp() local
293 .buildInstr(RISCV::SRLI, {DstReg}, {RegY}) in selectSHXADDOp()
295 MIB.addReg(DstReg); in selectSHXADDOp()
329 Register DstReg = MRI.createVirtualRegister(&RISCV::GPRRegClass); in selectSHXADDOp() local
332 .buildInstr(RISCV::SRLIW, {DstReg}, {RegY}) in selectSHXADDOp()
334 MIB.addReg(DstReg); in selectSHXADDOp()
368 Register DstReg = MRI.createVirtualRegister(&RISCV::GPRRegClass); in selectSHXADD_UWOp() local
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DTwoAddressInstructionPass.cpp128 bool isCopyToReg(MachineInstr &MI, Register &SrcReg, Register &DstReg,
138 bool &IsCopy, Register &DstReg,
179 void scanUses(Register DstReg);
363 Register &DstReg, bool &IsSrcPhys, in isCopyToReg() argument
366 DstReg = 0; in isCopyToReg()
368 DstReg = MI.getOperand(0).getReg(); in isCopyToReg()
371 DstReg = MI.getOperand(0).getReg(); in isCopyToReg()
378 IsDstPhys = DstReg.isPhysical(); in isCopyToReg()
460 Register SrcReg, DstReg; in isKilled() local
463 if (!isCopyToReg(*DefMI, SrcReg, DstReg, IsSrcPhys, IsDstPhys)) in isKilled()
[all …]
H A DExpandPostRAPseudos.cpp66 Register DstReg = MI->getOperand(0).getReg(); in LowerSubregToReg() local
72 Register DstSubReg = TRI->getSubReg(DstReg, SubIdx); in LowerSubregToReg()
74 assert(DstReg.isPhysical() && in LowerSubregToReg()
94 if (DstReg != InsReg) { in LowerSubregToReg()
109 CopyMI->addRegisterDefined(DstReg); in LowerSubregToReg()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64ExpandPseudoInsts.cpp129 Register DstReg = MI.getOperand(0).getReg(); in expandMOVImm() local
134 if (DstReg == AArch64::XZR || DstReg == AArch64::WZR) { in expandMOVImm()
160 Register DstReg = MI.getOperand(0).getReg(); in expandMOVImm() local
164 .addReg(DstReg, RegState::Define | in expandMOVImm()
167 .addReg(DstReg) in expandMOVImm()
173 Register DstReg = MI.getOperand(0).getReg(); in expandMOVImm() local
177 .addReg(DstReg, RegState::Define | in expandMOVImm()
180 .addReg(DstReg) in expandMOVImm()
181 .addReg(DstReg) in expandMOVImm()
192 Register DstReg = MI.getOperand(0).getReg(); in expandMOVImm() local
[all …]
H A DAArch64RedundantCopyElimination.cpp185 MCPhysReg DstReg = PredI.getOperand(0).getReg(); in knownRegValInBlock() local
194 SrcReg != DstReg) { in knownRegValInBlock()
208 if (DstReg == AArch64::WZR || DstReg == AArch64::XZR) in knownRegValInBlock()
213 if (!DomBBClobberedRegs.available(DstReg)) in knownRegValInBlock()
217 KnownRegs.push_back(RegImm(DstReg, 0)); in knownRegValInBlock()
251 MCPhysReg DstReg = PredI.getOperand(0).getReg(); in knownRegValInBlock() local
252 if (DstReg == AArch64::WZR || DstReg == AArch64::XZR) in knownRegValInBlock()
257 if (!DomBBClobberedRegs.available(DstReg)) in knownRegValInBlock()
262 KnownRegs.push_back(RegImm(DstReg, 0)); in knownRegValInBlock()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVPostRAExpandPseudoInsts.cpp92 Register DstReg = MBBI->getOperand(0).getReg(); in expandMovImm() local
96 TII->movImm(MBB, MBBI, DL, DstReg, Val, MachineInstr::NoFlags, Renamable, in expandMovImm()
107 Register DstReg = MBBI->getOperand(0).getReg(); in expandMovAddr() local
112 .addReg(DstReg, RegState::Define | getRenamableRegState(Renamable)) in expandMovAddr()
115 .addReg(DstReg, RegState::Define | getDeadRegState(DstIsDead) | in expandMovAddr()
117 .addReg(DstReg, RegState::Kill | getRenamableRegState(Renamable)) in expandMovAddr()
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/GISel/
H A DPPCInstructionSelector.cpp133 Register DstReg = I.getOperand(0).getReg(); in selectCopy() local
135 if (DstReg.isPhysical()) in selectCopy()
138 const RegisterBank *DstRegBank = RBI.getRegBank(DstReg, MRI, TRI); in selectCopy()
140 getRegClass(MRI.getType(DstReg), DstRegBank); in selectCopy()
145 if (!RBI.constrainGenericRegister(DstReg, *DstRC, MRI)) { in selectCopy()
191 const Register DstReg = I.getOperand(0).getReg(); in selectIntToFP() local
199 bool IsSingle = MRI.getType(DstReg).getSizeInBits() == 32; in selectIntToFP()
205 BuildMI(MBB, I, DbgLoc, TII.get(ConvOp), DstReg).addReg(MoveReg); in selectIntToFP()
218 const Register DstReg = I.getOperand(0).getReg(); in selectFPToInt() local
235 BuildMI(MBB, I, DbgLoc, TII.get(PPC::MFVSRD), DstReg).addReg(ConvReg); in selectFPToInt()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DInstructionSelect.cpp172 auto [DstReg, SrcReg] = MI.getFirst2Regs(); in runOnMachineFunction()
178 const TargetRegisterClass *DstRC = MRI.getRegClassOrNull(DstReg); in runOnMachineFunction()
181 assert(canReplaceReg(DstReg, SrcReg, MRI) && in runOnMachineFunction()
184 MRI.replaceRegWith(DstReg, SrcReg); in runOnMachineFunction()
238 Register DstReg = MI.getOperand(0).getReg(); in runOnMachineFunction() local
239 if (SrcReg.isVirtual() && DstReg.isVirtual()) { in runOnMachineFunction()
241 auto DstRC = MRI.getRegClass(DstReg); in runOnMachineFunction()
243 MRI.replaceRegWith(DstReg, SrcReg); in runOnMachineFunction()
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/AsmParser/
H A DMipsAsmParser.cpp228 bool loadImmediate(int64_t ImmValue, unsigned DstReg, unsigned SrcReg,
232 bool loadAndAddSymbolAddress(const MCExpr *SymExpr, unsigned DstReg,
250 bool expandLoadAddress(unsigned DstReg, unsigned BaseReg,
2181 MCOperand &DstReg = Inst.getOperand(0); in processInstruction() local
2185 Mips::GPRMM16RegClassID).contains(DstReg.getReg()) && in processInstruction()
2189 TOut.emitRRI(Mips::LWGP_MM, DstReg.getReg(), Mips::GP, MemOffset, in processInstruction()
2759 bool MipsAsmParser::loadImmediate(int64_t ImmValue, unsigned DstReg, in loadImmediate() argument
2789 unsigned TmpReg = DstReg; in loadImmediate()
2791 getContext().getRegisterInfo()->isSuperOrSubRegisterEq(DstReg, SrcReg)) { in loadImmediate()
2808 TOut.emitRRI(Mips::DADDiu, DstReg, SrcReg, ImmValue, IDLoc, STI); in loadImmediate()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/M68k/
H A DM68kInstrInfo.cpp665 const DebugLoc &DL, MCRegister DstReg, in copyPhysReg() argument
670 if (M68k::XR32RegClass.contains(DstReg, SrcReg)) in copyPhysReg()
672 else if (M68k::XR16RegClass.contains(DstReg, SrcReg)) in copyPhysReg()
674 else if (M68k::DR8RegClass.contains(DstReg, SrcReg)) in copyPhysReg()
678 BuildMI(MBB, MI, DL, get(Opc), DstReg) in copyPhysReg()
691 if (M68k::XR16RegClass.contains(DstReg)) in copyPhysReg()
693 else if (M68k::XR32RegClass.contains(DstReg)) in copyPhysReg()
696 M68k::XR32RegClass.contains(DstReg)) in copyPhysReg()
700 BuildMI(MBB, MI, DL, get(Opc), DstReg) in copyPhysReg()
707 bool ToCCR = DstReg == M68k::CCR; in copyPhysReg()
[all …]

123456