/freebsd/contrib/llvm-project/llvm/lib/Target/AVR/ |
H A D | AVRExpandPseudoInsts.cpp | 61 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 D | AVRRegisterInfo.cpp | 113 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 D | CSKYInstrInfo.cpp | 233 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 D | LegalizationArtifactCombiner.h | 67 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 D | HexagonMCDuplexInfo.cpp | 190 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 D | HexagonMCCompound.cpp | 81 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 D | SILowerI1Copies.cpp | 69 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 D | AMDGPUGlobalISelDivergenceLowering.cpp | 68 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 D | R600ExpandSpecialInstrs.cpp | 126 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 D | SIFixSGPRCopies.cpp | 192 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 D | LoongArchInstrInfo.cpp | 41 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 D | HexagonPeephole.cpp | 135 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 D | X86InstructionSelector.cpp | 111 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 D | X86InstructionSelector.cpp |
|
/freebsd/contrib/llvm-project/llvm/lib/Target/BPF/ |
H A D | BPFMISimplifyPatchable.cpp | 66 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 D | RISCVInstructionSelector.cpp | 278 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 D | TwoAddressInstructionPass.cpp | 128 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 D | ExpandPostRAPseudos.cpp | 66 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 D | AArch64ExpandPseudoInsts.cpp | 129 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 D | AArch64RedundantCopyElimination.cpp | 185 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 D | RISCVPostRAExpandPseudoInsts.cpp | 92 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 D | PPCInstructionSelector.cpp | 133 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 D | InstructionSelect.cpp | 172 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 D | MipsAsmParser.cpp | 228 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 D | M68kInstrInfo.cpp | 665 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 …]
|