Searched refs:Unmerge (Results 1 - 12 of 12) sorted by relevance

/freebsd-current/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/
H A DAArch64PostLegalizerLowering.cpp773 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 DAMDGPUPreLegalizerCombiner.cpp189 auto Unmerge = B.buildUnmerge(S32, Src); local
196 {Unmerge.getReg(0), Unmerge.getReg(1)}, MI.getFlags());
H A DAMDGPULegalizerInfo.cpp1831 // 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 DAMDGPURegisterBankInfo.cpp729 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 DLegalizationArtifactCombiner.h459 // 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 DMipsLegalizerInfo.cpp389 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 DMipsCallLowering.cpp269 auto Unmerge = local
271 Register Lo = Unmerge.getReg(0);
272 Register Hi = Unmerge.getReg(1);
H A DMipsRegisterBankInfo.cpp759 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 DLegalizerHelper.cpp244 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 DMachineIRBuilder.cpp249 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 DCombinerHelper.cpp1941 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 DCallLowering.cpp504 auto Unmerge = B.buildUnmerge(OriginalEltTy, R); local
506 BVRegs.push_back(B.buildAnyExt(PartLLT, Unmerge.getReg(K)).getReg(0));

Completed in 315 milliseconds