/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/ |
H A D | AArch64PostLegalizerLowering.cpp | 768 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 D | LegalizationArtifactCombiner.h | 922 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 D | AMDGPUPreLegalizerCombiner.cpp | 185 auto Unmerge = B.buildUnmerge(S32, Src); in applyClampI64ToI16() local 192 {Unmerge.getReg(0), Unmerge.getReg(1)}, MI.getFlags()); in applyClampI64ToI16()
|
H A D | AMDGPULegalizerInfo.cpp | 2521 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 D | AMDGPURegisterBankInfo.cpp | 729 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 D | MipsLegalizerInfo.cpp | 389 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 D | MipsCallLowering.cpp | 269 auto Unmerge = in assignCustomValue() local 271 Register Lo = Unmerge.getReg(0); in assignCustomValue() 272 Register Hi = Unmerge.getReg(1); in assignCustomValue()
|
H A D | MipsRegisterBankInfo.cpp | 740 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 D | MachineIRBuilder.cpp | 251 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 D | LegalizerHelper.cpp | 245 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 D | CombinerHelper.cpp | 2093 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 D | CallLowering.cpp | 536 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 D | RISCVLegalizerInfo.cpp | 705 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()
|