/freebsd-current/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/ |
H A D | AArch64PostLegalizerLowering.cpp | 773 auto &Unmerge = cast<GUnmerge>(MI); local 774 Register Src1Reg = Unmerge.getReg(Unmerge.getNumOperands() - 1); 777 Unmerge.getNumOperands() == (unsigned)SrcTy.getNumElements() + 1; 782 auto &Unmerge = cast<GUnmerge>(MI); local 783 Register Src1Reg = Unmerge.getReg(Unmerge.getNumOperands() - 1); 789 B.buildExtractVectorElementConstant(Unmerge.getReg(I), Src1Reg, I); 1094 auto &Unmerge = cast<GUnmerge>(MI); 1095 if (Unmerge [all...] |
/freebsd-current/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUPreLegalizerCombiner.cpp | 189 auto Unmerge = B.buildUnmerge(S32, Src); local 196 {Unmerge.getReg(0), Unmerge.getReg(1)}, MI.getFlags());
|
H A D | AMDGPULegalizerInfo.cpp | 1831 // Merge/Unmerge 2425 auto Unmerge = B.buildUnmerge({S32, S32}, Src); 2426 Register Hi = Unmerge.getReg(1); 2471 auto Unmerge = B.buildUnmerge({S32, S32}, Src); 2475 auto CvtHi = Signed ? B.buildSITOFP(S64, Unmerge.getReg(1)) 2476 : B.buildUITOFP(S64, Unmerge.getReg(1)); 2478 auto CvtLo = B.buildUITOFP(S64, Unmerge.getReg(0)); 2494 auto X = B.buildXor(S32, Unmerge.getReg(0), Unmerge.getReg(1)); 2498 .addUse(Unmerge [all...] |
H A D | AMDGPURegisterBankInfo.cpp | 729 auto Unmerge = B.buildUnmerge(S32, Src); local 731 SrcParts.push_back(Unmerge.getReg(i)); 1651 auto Unmerge = B.buildUnmerge(S32, Src2); local 1652 Register Src2Lo = Unmerge.getReg(0); 1653 Register Src2Hi = Unmerge.getReg(1); 1768 auto Unmerge = B.buildUnmerge(S16, Reg); 1772 for (int I = 0, E = Unmerge->getNumOperands() - 1; I != E; ++I) 1773 WideRegs.push_back(Unmerge.getReg(I));
|
/freebsd-current/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
H A D | LegalizationArtifactCombiner.h | 459 // Unmerge(trunc) can be combined if the trunc source size is a multiple 904 if (auto *Unmerge = dyn_cast<GUnmerge>(MRI.getVRegDef(Def))) { 905 DefOperandIdx = Unmerge->findRegisterDefOperandIdx(Def); 906 return Unmerge; 916 GUnmerge *Unmerge, unsigned UnmergeIdxStart, 924 // Check if source i comes from the same Unmerge. 925 if (EltUnmerge == Unmerge) { 926 // Check that source i's def has same index in sequence in Unmerge. 947 auto *Unmerge = findUnmergeThatDefinesReg(Elt0, EltSize, Elt0UnmergeIdx); local 948 if (!Unmerge) 915 isSequenceFromUnmerge(GMergeLikeInstr &MI, unsigned MergeStartIdx, GUnmerge *Unmerge, unsigned UnmergeIdxStart, unsigned NumElts, unsigned EltSize, bool AllowUndef) argument [all...] |
/freebsd-current/contrib/llvm-project/llvm/lib/Target/Mips/ |
H A D | MipsLegalizerInfo.cpp | 389 auto Unmerge = MIRBuilder.buildUnmerge(s32, Val); local 390 MIRBuilder.buildStore(Unmerge.getReg(0), BaseAddr, *P2HalfMemOp); 391 MIRBuilder.buildStore(Unmerge.getReg(1), Addr, *RemMemOp);
|
H A D | MipsCallLowering.cpp | 269 auto Unmerge = local 271 Register Lo = Unmerge.getReg(0); 272 Register Hi = Unmerge.getReg(1);
|
H A D | MipsRegisterBankInfo.cpp | 759 if (auto *Unmerge = dyn_cast<GUnmerge>(NewMI)) 760 combineAwayG_UNMERGE_VALUES(ArtCombiner, *Unmerge, NewInstrObserver);
|
/freebsd-current/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
H A D | LegalizerHelper.cpp | 244 auto Unmerge = MIRBuilder.buildUnmerge(GCDTy, SrcReg); local 245 getUnmergeResults(Parts, *Unmerge); 1269 auto Unmerge = MIRBuilder.buildUnmerge(NarrowTy, MI.getOperand(1)); local 1270 MIRBuilder.buildCopy(MI.getOperand(0), Unmerge.getReg(0)); 1284 auto Unmerge = MIRBuilder.buildUnmerge(NarrowTy, MI.getOperand(1).getReg()); 1286 for (unsigned i = 0; i < Unmerge->getNumDefs(); ++i) { 1288 MIRBuilder.buildFreeze(NarrowTy, Unmerge.getReg(i)).getReg(0)); 1830 // Unmerge the original values to the GCD type, and recombine to the next 1865 auto Unmerge = MIRBuilder.buildUnmerge(GCDTy, SrcReg); local 1866 for (int J = 0, JE = Unmerge 1968 auto Unmerge = MIRBuilder.buildUnmerge(WideTy, WideSrc); local 2978 auto Unmerge = B.buildUnmerge(Ty, Src); local 4281 auto Unmerge = MIRBuilder.buildUnmerge(EltTy, MI.getOperand(i).getReg()); local [all...] |
H A D | MachineIRBuilder.cpp | 249 auto Unmerge = buildUnmerge(Op0Ty.getElementType(), Op0); local 251 for (auto Op : Unmerge.getInstr()->defs()) 279 auto Unmerge = buildUnmerge(Op0Ty.getElementType(), Op0); local 281 Regs.push_back(Unmerge.getReg(i)); 1233 assert(SrcOps.size() == 1 && "Invalid src for Unmerge");
|
H A D | CombinerHelper.cpp | 1941 auto *Unmerge = getOpcodeDef<GUnmerge>(MergedValues[0], MRI); local 1942 if (!Unmerge || Unmerge->getNumDefs() != Merge.getNumSources()) 1946 if (MergedValues[I] != Unmerge->getReg(I)) 1949 MatchInfo = Unmerge->getSourceReg(); 1965 auto &Unmerge = cast<GUnmerge>(MI); local 1966 Register SrcReg = peekThroughBitcast(Unmerge.getSourceReg(), MRI); 1974 LLT Dst0Ty = MRI.getType(Unmerge.getReg(0)); 2033 // Unmerge a constant. 2201 auto Unmerge local [all...] |
H A D | CallLowering.cpp | 504 auto Unmerge = B.buildUnmerge(OriginalEltTy, R); local 506 BVRegs.push_back(B.buildAnyExt(PartLLT, Unmerge.getReg(K)).getReg(0));
|