Home
last modified time | relevance | path

Searched refs:Unmerge (Results 1 – 13 of 13) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/
H A DAArch64PostLegalizerLowering.cpp768 auto &Unmerge = cast<GUnmerge>(MI); in matchScalarizeVectorUnmerge() local
769 Register Src1Reg = Unmerge.getReg(Unmerge.getNumOperands() - 1); in matchScalarizeVectorUnmerge()
774 Unmerge.getNumOperands() == (unsigned)SrcTy.getNumElements() + 1; in matchScalarizeVectorUnmerge()
779 auto &Unmerge = cast<GUnmerge>(MI); in applyScalarizeVectorUnmerge() local
780 Register Src1Reg = Unmerge.getReg(Unmerge.getNumOperands() - 1); in applyScalarizeVectorUnmerge()
786 B.buildExtractVectorElementConstant(Unmerge.getReg(I), Src1Reg, I); in applyScalarizeVectorUnmerge()
1095 auto &Unmerge = cast<GUnmerge>(MI); in matchUnmergeExtToUnmerge() local
1096 if (Unmerge.getNumDefs() != 2) in matchUnmergeExtToUnmerge()
1098 if (!MRI.use_nodbg_empty(Unmerge.getReg(1))) in matchUnmergeExtToUnmerge()
1101 LLT DstTy = MRI.getType(Unmerge.getReg(0)); in matchUnmergeExtToUnmerge()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DLegalizationArtifactCombiner.h922 if (auto *Unmerge = dyn_cast<GUnmerge>(MRI.getVRegDef(Def))) { in findUnmergeThatDefinesReg() local
924 Unmerge->findRegisterDefOperandIdx(Def, /*TRI=*/nullptr); in findUnmergeThatDefinesReg()
925 return Unmerge; in findUnmergeThatDefinesReg()
935 GUnmerge *Unmerge, unsigned UnmergeIdxStart, in isSequenceFromUnmerge() argument
944 if (EltUnmerge == Unmerge) { in isSequenceFromUnmerge()
966 auto *Unmerge = findUnmergeThatDefinesReg(Elt0, EltSize, Elt0UnmergeIdx); in tryCombineMergeLike() local
967 if (!Unmerge) in tryCombineMergeLike()
973 Register UnmergeSrc = Unmerge->getSourceReg(); in tryCombineMergeLike()
984 if (!isSequenceFromUnmerge(MI, 0, Unmerge, 0, NumMIElts, EltSize, in tryCombineMergeLike()
1006 if (!isSequenceFromUnmerge(MI, 0, Unmerge, Elt0UnmergeIdx, NumMIElts, in tryCombineMergeLike()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUPreLegalizerCombiner.cpp185 auto Unmerge = B.buildUnmerge(S32, Src); in applyClampI64ToI16() local
192 {Unmerge.getReg(0), Unmerge.getReg(1)}, MI.getFlags()); in applyClampI64ToI16()
H A DAMDGPULegalizerInfo.cpp2521 auto Unmerge = B.buildUnmerge({S32, S32}, Src); in legalizeIntrinsicTrunc() local
2522 Register Hi = Unmerge.getReg(1); in legalizeIntrinsicTrunc()
2567 auto Unmerge = B.buildUnmerge({S32, S32}, Src); in legalizeITOFP() local
2571 auto CvtHi = Signed ? B.buildSITOFP(S64, Unmerge.getReg(1)) in legalizeITOFP()
2572 : B.buildUITOFP(S64, Unmerge.getReg(1)); in legalizeITOFP()
2574 auto CvtLo = B.buildUITOFP(S64, Unmerge.getReg(0)); in legalizeITOFP()
2590 auto X = B.buildXor(S32, Unmerge.getReg(0), Unmerge.getReg(1)); in legalizeITOFP()
2594 .addUse(Unmerge.getReg(1)); in legalizeITOFP()
2598 ShAmt = B.buildCTLZ(S32, Unmerge.getReg(1)); in legalizeITOFP()
2742 auto Unmerge = B.buildUnmerge(EltTy, Vec); in legalizeExtractVectorElt() local
[all …]
H A DAMDGPURegisterBankInfo.cpp729 auto Unmerge = B.buildUnmerge(S32, Src); in buildReadFirstLane() local
731 SrcParts.push_back(Unmerge.getReg(i)); in buildReadFirstLane()
1650 auto Unmerge = B.buildUnmerge(S32, Src2); in applyMappingMAD_64_32() local
1651 Register Src2Lo = Unmerge.getReg(0); in applyMappingMAD_64_32()
1652 Register Src2Hi = Unmerge.getReg(1); in applyMappingMAD_64_32()
1767 auto Unmerge = B.buildUnmerge(S16, Reg); in handleD16VData() local
1771 for (int I = 0, E = Unmerge->getNumOperands() - 1; I != E; ++I) in handleD16VData()
1772 WideRegs.push_back(Unmerge.getReg(I)); in handleD16VData()
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsLegalizerInfo.cpp389 auto Unmerge = MIRBuilder.buildUnmerge(s32, Val); in legalizeCustom() local
390 MIRBuilder.buildStore(Unmerge.getReg(0), BaseAddr, *P2HalfMemOp); in legalizeCustom()
391 MIRBuilder.buildStore(Unmerge.getReg(1), Addr, *RemMemOp); in legalizeCustom()
H A DMipsCallLowering.cpp269 auto Unmerge = in assignCustomValue() local
271 Register Lo = Unmerge.getReg(0); in assignCustomValue()
272 Register Hi = Unmerge.getReg(1); in assignCustomValue()
H A DMipsRegisterBankInfo.cpp740 if (auto *Unmerge = dyn_cast<GUnmerge>(NewMI)) in applyMappingImpl() local
741 combineAwayG_UNMERGE_VALUES(ArtCombiner, *Unmerge, NewInstrObserver); in applyMappingImpl()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DMachineIRBuilder.cpp251 auto Unmerge = buildUnmerge(Op0Ty.getElementType(), Op0); in buildPadVectorWithUndefElements() local
253 for (auto Op : Unmerge.getInstr()->defs()) in buildPadVectorWithUndefElements()
283 auto Unmerge = buildUnmerge(Op0Ty.getElementType(), Op0); in buildDeleteTrailingVectorElements() local
285 return buildCopy(Res, Unmerge.getReg(0)); in buildDeleteTrailingVectorElements()
288 Regs.push_back(Unmerge.getReg(i)); in buildDeleteTrailingVectorElements()
H A DLegalizerHelper.cpp245 auto Unmerge = MIRBuilder.buildUnmerge(GCDTy, SrcReg); in extractGCDType() local
246 getUnmergeResults(Parts, *Unmerge); in extractGCDType()
1310 auto Unmerge = MIRBuilder.buildUnmerge(NarrowTy, MI.getOperand(1)); in narrowScalar() local
1311 MIRBuilder.buildCopy(MI.getOperand(0), Unmerge.getReg(0)); in narrowScalar()
1325 auto Unmerge = MIRBuilder.buildUnmerge(NarrowTy, MI.getOperand(1).getReg()); in narrowScalar() local
1327 for (unsigned i = 0; i < Unmerge->getNumDefs(); ++i) { in narrowScalar()
1329 MIRBuilder.buildInstr(MI.getOpcode(), {NarrowTy}, {Unmerge.getReg(i)}) in narrowScalar()
1929 auto Unmerge = MIRBuilder.buildUnmerge(GCDTy, SrcReg); in widenScalarMergeValues() local
1930 for (int J = 0, JE = Unmerge->getNumOperands() - 1; J != JE; ++J) in widenScalarMergeValues()
1931 Unmerges.push_back(Unmerge.getReg(J)); in widenScalarMergeValues()
[all …]
H A DCombinerHelper.cpp2093 auto *Unmerge = getOpcodeDef<GUnmerge>(MergedValues[0], MRI); in matchCombineMergeUnmerge() local
2094 if (!Unmerge || Unmerge->getNumDefs() != Merge.getNumSources()) in matchCombineMergeUnmerge()
2098 if (MergedValues[I] != Unmerge->getReg(I)) in matchCombineMergeUnmerge()
2101 MatchInfo = Unmerge->getSourceReg(); in matchCombineMergeUnmerge()
2117 auto &Unmerge = cast<GUnmerge>(MI); in matchCombineUnmergeMergeToPlainValues() local
2118 Register SrcReg = peekThroughBitcast(Unmerge.getSourceReg(), MRI); in matchCombineUnmergeMergeToPlainValues()
2126 LLT Dst0Ty = MRI.getType(Unmerge.getReg(0)); in matchCombineUnmergeMergeToPlainValues()
2337 auto Unmerge = Builder.buildUnmerge(HalfTy, SrcReg); in applyCombineShiftToUnmerge() local
2341 Register Narrowed = Unmerge.getReg(1); in applyCombineShiftToUnmerge()
2356 Register Narrowed = Unmerge.getReg(0); in applyCombineShiftToUnmerge()
[all …]
H A DCallLowering.cpp536 auto Unmerge = B.buildUnmerge(OriginalEltTy, R); in buildCopyFromRegs() local
538 BVRegs.push_back(B.buildAnyExt(PartLLT, Unmerge.getReg(K)).getReg(0)); in buildCopyFromRegs()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/GISel/
H A DRISCVLegalizerInfo.cpp705 auto Unmerge = MIB.buildUnmerge(LLT::scalar(32), Scalar); in buildSplatSplitS64WithVL() local
706 return buildSplatPartsS64WithVL(Dst, Passthru, Unmerge.getReg(0), in buildSplatSplitS64WithVL()
707 Unmerge.getReg(1), VL, MIB, MRI); in buildSplatSplitS64WithVL()