Home
last modified time | relevance | path

Searched refs:SrcTy (Results 1 – 25 of 100) sorted by relevance

1234

/freebsd-12-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
DMIPatternMatch.h386 template <typename SrcTy, unsigned Opcode> struct UnaryOp_match {
387 SrcTy L;
389 UnaryOp_match(const SrcTy &LHS) : L(LHS) {}
402 template <typename SrcTy>
403 inline UnaryOp_match<SrcTy, TargetOpcode::G_ANYEXT>
404 m_GAnyExt(const SrcTy &Src) {
405 return UnaryOp_match<SrcTy, TargetOpcode::G_ANYEXT>(Src);
408 template <typename SrcTy>
409 inline UnaryOp_match<SrcTy, TargetOpcode::G_SEXT> m_GSExt(const SrcTy &Src) {
410 return UnaryOp_match<SrcTy, TargetOpcode::G_SEXT>(Src);
[all …]
DLegalizationArtifactCombiner.h122 LLT SrcTy = MRI.getType(SrcReg); in tryCombineZExt() local
123 APInt MaskVal = APInt::getAllOnesValue(SrcTy.getScalarSizeInBits()); in tryCombineZExt()
177 LLT SrcTy = MRI.getType(SrcReg); in tryCombineSExt() local
178 uint64_t SizeInBits = SrcTy.getScalarSizeInBits(); in tryCombineSExt()
371 const LLT SrcTy = MRI.getType(MI.getOperand(NumDefs).getReg()); in tryFoldUnmergeCast() local
377 if (SrcTy.isVector() && SrcTy.getScalarType() == DestTy.getScalarType()) { in tryFoldUnmergeCast()
409 if (CastSrcTy.isScalar() && SrcTy.isScalar() && !DestTy.isVector()) { in tryFoldUnmergeCast()
610 LLT SrcTy = MRI.getType(Src1Reg); in findValueFromBuildVector() local
611 LLT NewBVTy = LLT::fixed_vector(NumSrcsUsed, SrcTy); in findValueFromBuildVector()
615 LI.getAction({TargetOpcode::G_BUILD_VECTOR, {NewBVTy, SrcTy}}); in findValueFromBuildVector()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/
DAArch64RegisterBankInfo.cpp598 LLT SrcTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping() local
601 getFPExtMapping(DstTy.getSizeInBits(), SrcTy.getSizeInBits()), in getInstrMapping()
609 LLT SrcTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping() local
610 if (ShiftAmtTy.getSizeInBits() == 64 && SrcTy.getSizeInBits() == 32) in getInstrMapping()
644 LLT SrcTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping() local
647 bool SrcIsGPR = !SrcTy.isVector() && SrcTy.getSizeInBits() <= 64; in getInstrMapping()
702 LLT SrcTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping() local
703 if (!SrcTy.isVector() && SrcTy.getSizeInBits() == 128) in getInstrMapping()
788 LLT SrcTy = MRI.getType(MI.getOperand(2).getReg()); in getInstrMapping() local
789 if (SrcTy.isVector()) { in getInstrMapping()
[all …]
DAArch64LegalizerInfo.cpp124 const auto &SrcTy = Query.Types[0]; in AArch64LegalizerInfo() local
126 return !SrcTy.isVector() && SrcTy.getSizeInBits() == 32 && in AArch64LegalizerInfo()
390 const LLT &SrcTy = Query.Types[1]; in AArch64LegalizerInfo() local
391 return Ty.isVector() && !SrcTy.getElementType().isPointer() && in AArch64LegalizerInfo()
392 Ty.getElementType() != SrcTy.getElementType(); in AArch64LegalizerInfo()
416 const LLT &SrcTy = Query.Types[1]; in AArch64LegalizerInfo() local
419 if (SrcTy == s1) in AArch64LegalizerInfo()
425 unsigned SrcSize = SrcTy.getSizeInBits(); in AArch64LegalizerInfo()
441 LLT SrcTy = Query.Types[1]; in AArch64LegalizerInfo() local
442 return DstTy == v8s8 && SrcTy.getSizeInBits() > 128; in AArch64LegalizerInfo()
[all …]
DAArch64InstructionSelector.cpp1026 static unsigned selectFPConvOpc(unsigned GenericOpc, LLT DstTy, LLT SrcTy) { in selectFPConvOpc() argument
1027 if (!DstTy.isScalar() || !SrcTy.isScalar()) in selectFPConvOpc()
1031 const unsigned SrcSize = SrcTy.getSizeInBits(); in selectFPConvOpc()
1700 static Optional<int64_t> getVectorSHLImm(LLT SrcTy, Register Reg, MachineRegisterInfo &MRI) { in getVectorSHLImm() argument
1708 switch (SrcTy.getElementType().getSizeInBits()) { in getVectorSHLImm()
1923 const LLT SrcTy = MRI.getType(SrcReg); in preISelLower() local
1924 if (SrcTy.isVector()) in preISelLower()
1927 if (SrcTy.getSizeInBits() != 32 || ShiftTy.getSizeInBits() != 64) in preISelLower()
1933 auto Trunc = MIB.buildInstr(TargetOpcode::COPY, {SrcTy}, {}) in preISelLower()
1988 LLT SrcTy = MRI.getType(SrcReg); in preISelLower() local
[all …]
DAArch64PostLegalizerLowering.cpp648 const LLT SrcTy = MRI.getType(Src1Reg); in matchDupLane() local
656 if (*LaneIdx >= SrcTy.getNumElements()) in matchDupLane()
659 if (DstTy != SrcTy) in matchDupLane()
662 LLT ScalarTy = SrcTy.getElementType(); in matchDupLane()
666 switch (SrcTy.getNumElements()) { in matchDupLane()
700 const LLT SrcTy = MRI.getType(Src1Reg); in applyDupLane() local
708 if (SrcTy == LLT::fixed_vector(2, LLT::scalar(32))) { in applyDupLane()
711 auto Undef = B.buildUndef(SrcTy); in applyDupLane()
713 SrcTy.changeElementCount(ElementCount::getFixed(4)), in applyDupLane()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
DInstCombineCasts.cpp252 Type *SrcTy = CI1->getSrcTy(); in isEliminableCastPair() local
259 SrcTy->isPtrOrPtrVectorTy() ? DL.getIntPtrType(SrcTy) : nullptr; in isEliminableCastPair()
264 unsigned Res = CastInst::isEliminableCastPair(firstOp, secondOp, SrcTy, MidTy, in isEliminableCastPair()
270 if ((Res == Instruction::IntToPtr && SrcTy != DstIntPtrTy) || in isEliminableCastPair()
330 auto *SrcTy = dyn_cast<FixedVectorType>(X->getType()); in commonCastTransforms() local
332 if (SrcTy && DestTy && in commonCastTransforms()
333 SrcTy->getNumElements() == DestTy->getNumElements() && in commonCastTransforms()
334 SrcTy->getPrimitiveSizeInBits() == DestTy->getPrimitiveSizeInBits()) { in commonCastTransforms()
641 Type *SrcTy = Trunc.getSrcTy(); in narrowBinOp() local
643 if (!isa<VectorType>(SrcTy) && !shouldChangeType(SrcTy, DestTy)) in narrowBinOp()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
DLegalizerHelper.cpp247 LLT SrcTy = MRI.getType(SrcReg); in extractGCDType() local
248 if (SrcTy == GCDTy) { in extractGCDType()
261 LLT SrcTy = MRI.getType(SrcReg); in extractGCDType() local
262 LLT GCDTy = getGCDType(getGCDType(SrcTy, NarrowTy), DstTy); in extractGCDType()
986 LLT SrcTy = MRI.getType(SrcReg); in narrowScalar() local
987 if (SrcTy.isVector()) in narrowScalar()
992 unsigned LeftoverBits = SrcTy.getSizeInBits() - HandledSize; in narrowScalar()
993 if (SrcTy.isVector() && LeftoverBits != 0) in narrowScalar()
996 if (8 * StoreMI.getMemSize() != SrcTy.getSizeInBits()) { in narrowScalar()
1109 LLT SrcTy = MRI.getType(LHS); in narrowScalar() local
[all …]
DCallLowering.cpp451 Register SrcReg, LLT SrcTy, LLT PartTy, in buildCopyToRegs() argument
454 assert(SrcTy != PartTy && "identical part types shouldn't reach here"); in buildCopyToRegs()
458 if (PartTy.isVector() == SrcTy.isVector() && in buildCopyToRegs()
459 PartTy.getScalarSizeInBits() > SrcTy.getScalarSizeInBits()) { in buildCopyToRegs()
465 if (SrcTy.isVector() && !PartTy.isVector() && in buildCopyToRegs()
466 PartSize > SrcTy.getElementType().getSizeInBits()) { in buildCopyToRegs()
468 auto UnmergeToEltTy = B.buildUnmerge(SrcTy.getElementType(), SrcReg); in buildCopyToRegs()
474 LLT GCDTy = getGCDType(SrcTy, PartTy); in buildCopyToRegs()
483 LLT LCMTy = getLCMType(SrcTy, PartTy); in buildCopyToRegs()
486 const unsigned SrcSize = SrcTy.getSizeInBits(); in buildCopyToRegs()
[all …]
DGISelKnownBits.cpp450 LLT SrcTy = MRI.getType(SrcReg); in computeKnownBitsImpl() local
457 SrcBitWidth = SrcTy.isPointer() in computeKnownBitsImpl()
458 ? DL.getIndexSizeInBits(SrcTy.getAddressSpace()) in computeKnownBitsImpl()
459 : SrcTy.getSizeInBits(); in computeKnownBitsImpl()
600 LLT SrcTy = MRI.getType(Src); in computeNumSignBits() local
601 unsigned Tmp = DstTy.getScalarSizeInBits() - SrcTy.getScalarSizeInBits(); in computeNumSignBits()
632 LLT SrcTy = MRI.getType(Src); in computeNumSignBits() local
636 unsigned NumSrcBits = SrcTy.getScalarSizeInBits(); in computeNumSignBits()
DMachineIRBuilder.cpp498 LLT SrcTy = Src.getLLTTy(*getMRI()); in buildCast() local
500 if (SrcTy == DstTy) in buildCast()
504 if (SrcTy.isPointer() && DstTy.isScalar()) in buildCast()
506 else if (DstTy.isPointer() && SrcTy.isScalar()) in buildCast()
509 assert(!SrcTy.isPointer() && !DstTy.isPointer() && "n G_ADDRCAST yet"); in buildCast()
519 LLT SrcTy = Src.getLLTTy(*getMRI()); in buildExtract() local
523 assert(SrcTy.isValid() && "invalid operand type"); in buildExtract()
525 assert(Index + DstTy.getSizeInBits() <= SrcTy.getSizeInBits() && in buildExtract()
529 if (DstTy.getSizeInBits() == SrcTy.getSizeInBits()) { in buildExtract()
959 void MachineIRBuilder::validateTruncExt(const LLT DstTy, const LLT SrcTy, in validateTruncExt() argument
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Linker/
DIRMover.cpp58 void addTypeMapping(Type *DstTy, Type *SrcTy);
66 Type *get(Type *SrcTy);
67 Type *get(Type *SrcTy, SmallPtrSet<StructType *, 8> &Visited);
76 Type *remapType(Type *SrcTy) override { return get(SrcTy); } in remapType() argument
78 bool areTypesIsomorphic(Type *DstTy, Type *SrcTy);
82 void TypeMapTy::addTypeMapping(Type *DstTy, Type *SrcTy) { in addTypeMapping() argument
88 if (!areTypesIsomorphic(DstTy, SrcTy)) { in addTypeMapping()
116 bool TypeMapTy::areTypesIsomorphic(Type *DstTy, Type *SrcTy) { in areTypesIsomorphic() argument
118 if (DstTy->getTypeID() != SrcTy->getTypeID()) in areTypesIsomorphic()
122 Type *&Entry = MappedTypes[SrcTy]; in areTypesIsomorphic()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/CodeGen/
DMachineVerifier.cpp961 LLT SrcTy = MRI->getType(Src); in verifyPreISelGenericInstruction() local
968 if (Imm >= SrcTy.getScalarSizeInBits()) { in verifyPreISelGenericInstruction()
1067 LLT SrcTy = MRI->getType(MI->getOperand(1).getReg()); in verifyPreISelGenericInstruction() local
1068 if (!DstTy.isValid() || !SrcTy.isValid()) in verifyPreISelGenericInstruction()
1071 if (SrcTy.isPointer() != DstTy.isPointer()) in verifyPreISelGenericInstruction()
1074 if (SrcTy.getSizeInBits() != DstTy.getSizeInBits()) in verifyPreISelGenericInstruction()
1077 if (SrcTy == DstTy) in verifyPreISelGenericInstruction()
1086 LLT SrcTy = MRI->getType(MI->getOperand(1).getReg()); in verifyPreISelGenericInstruction() local
1087 if (!DstTy.isValid() || !SrcTy.isValid()) in verifyPreISelGenericInstruction()
1090 verifyVectorElementMatch(DstTy, SrcTy, MI); in verifyPreISelGenericInstruction()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/ARM/
DARMTargetTransformInfo.cpp422 EVT SrcTy = TLI->getValueType(DL, Src); in getCastInstrCost() local
425 if (!SrcTy.isSimple() || !DstTy.isSimple()) in getCastInstrCost()
437 IsLegalFPType(SrcTy) && IsLegalFPType(DstTy))) in getCastInstrCost()
460 LoadConversionTbl, ISD, DstTy.getSimpleVT(), SrcTy.getSimpleVT())) in getCastInstrCost()
480 if (SrcTy.isVector() && ST->hasMVEIntegerOps()) { in getCastInstrCost()
483 DstTy.getSimpleVT(), SrcTy.getSimpleVT())) in getCastInstrCost()
492 if (SrcTy.isVector() && ST->hasMVEFloatOps()) { in getCastInstrCost()
495 DstTy.getSimpleVT(), SrcTy.getSimpleVT())) in getCastInstrCost()
509 if (SrcTy.isVector() && ST->hasMVEIntegerOps()) { in getCastInstrCost()
512 SrcTy.getSimpleVT(), DstTy.getSimpleVT())) in getCastInstrCost()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/IR/
DInstructions.cpp2682 Type *SrcTy = getOperand(0)->getType(); in isLosslessCast() local
2684 if (SrcTy == DstTy) in isLosslessCast()
2688 if (SrcTy->isPointerTy()) in isLosslessCast()
2702 Type *SrcTy, in isNoopCast() argument
2705 assert(castIsValid(Opcode, SrcTy, DestTy) && "method precondition"); in isNoopCast()
2723 return DL.getIntPtrType(SrcTy)->getScalarSizeInBits() == in isNoopCast()
2727 SrcTy->getScalarSizeInBits(); in isNoopCast()
2745 Type *SrcTy, Type *MidTy, Type *DstTy, Type *SrcIntPtrTy, Type *MidIntPtrTy, in isEliminableCastPair() argument
2809 if ((IsFirstBitcast && isa<VectorType>(SrcTy) != isa<VectorType>(MidTy)) || in isEliminableCastPair()
2830 if (!SrcTy->isVectorTy() && DstTy->isIntegerTy()) in isEliminableCastPair()
[all …]
DVerifier.cpp2767 Type *SrcTy = I.getOperand(0)->getType(); in visitTruncInst() local
2771 unsigned SrcBitSize = SrcTy->getScalarSizeInBits(); in visitTruncInst()
2774 Assert(SrcTy->isIntOrIntVectorTy(), "Trunc only operates on integer", &I); in visitTruncInst()
2776 Assert(SrcTy->isVectorTy() == DestTy->isVectorTy(), in visitTruncInst()
2785 Type *SrcTy = I.getOperand(0)->getType(); in visitZExtInst() local
2789 Assert(SrcTy->isIntOrIntVectorTy(), "ZExt only operates on integer", &I); in visitZExtInst()
2791 Assert(SrcTy->isVectorTy() == DestTy->isVectorTy(), in visitZExtInst()
2793 unsigned SrcBitSize = SrcTy->getScalarSizeInBits(); in visitZExtInst()
2803 Type *SrcTy = I.getOperand(0)->getType(); in visitSExtInst() local
2807 unsigned SrcBitSize = SrcTy->getScalarSizeInBits(); in visitSExtInst()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/X86/
DX86InstructionSelector.cpp717 const LLT SrcTy = MRI.getType(SrcReg); in selectTruncOrPtrToInt() local
729 const TargetRegisterClass *SrcRC = getRegClass(SrcTy, SrcRB); in selectTruncOrPtrToInt()
781 const LLT SrcTy = MRI.getType(SrcReg); in selectZext() local
783 assert(!(SrcTy == LLT::scalar(8) && DstTy == LLT::scalar(16)) && in selectZext()
785 assert(!(SrcTy == LLT::scalar(8) && DstTy == LLT::scalar(32)) && in selectZext()
787 assert(!(SrcTy == LLT::scalar(16) && DstTy == LLT::scalar(32)) && in selectZext()
789 assert(!(SrcTy == LLT::scalar(8) && DstTy == LLT::scalar(64)) && in selectZext()
791 assert(!(SrcTy == LLT::scalar(16) && DstTy == LLT::scalar(64)) && in selectZext()
793 assert(!(SrcTy == LLT::scalar(32) && DstTy == LLT::scalar(64)) && in selectZext()
796 if (SrcTy != LLT::scalar(1)) in selectZext()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
DAMDGPUPostLegalizerCombiner.cpp188 LLT SrcTy = MRI.getType(SrcReg); in applyUCharToFloat() local
189 if (SrcTy != S32) in applyUCharToFloat()
239 LLT SrcTy = MRI.getType(MatchInfo.CvtVal); in applyCvtF32UByteN() local
240 if (SrcTy != S32) { in applyCvtF32UByteN()
241 assert(SrcTy.isScalar() && SrcTy.getSizeInBits() >= 8); in applyCvtF32UByteN()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/SystemZ/
DSystemZTargetTransformInfo.cpp611 getVectorTruncCost(Type *SrcTy, Type *DstTy) { in getVectorTruncCost() argument
612 assert (SrcTy->isVectorTy() && DstTy->isVectorTy()); in getVectorTruncCost()
613 assert(SrcTy->getPrimitiveSizeInBits().getFixedSize() > in getVectorTruncCost()
616 assert(cast<FixedVectorType>(SrcTy)->getNumElements() == in getVectorTruncCost()
622 unsigned NumParts = getNumVectorRegs(SrcTy); in getVectorTruncCost()
632 unsigned Log2Diff = getElSizeLog2Diff(SrcTy, DstTy); in getVectorTruncCost()
633 unsigned VF = cast<FixedVectorType>(SrcTy)->getNumElements(); in getVectorTruncCost()
643 if (VF == 8 && SrcTy->getScalarSizeInBits() == 64 && in getVectorTruncCost()
653 getVectorBitmaskConversionCost(Type *SrcTy, Type *DstTy) { in getVectorBitmaskConversionCost() argument
654 assert (SrcTy->isVectorTy() && DstTy->isVectorTy() && in getVectorBitmaskConversionCost()
[all …]
DSystemZTargetTransformInfo.h96 unsigned getVectorTruncCost(Type *SrcTy, Type *DstTy);
97 unsigned getVectorBitmaskConversionCost(Type *SrcTy, Type *DstTy);
/freebsd-12-stable/contrib/llvm-project/clang/lib/CodeGen/
DCGExprScalar.cpp352 llvm::Type *SrcTy, llvm::Type *DstTy,
355 EmitScalarConversion(Value *Src, QualType SrcTy, QualType DstTy,
361 Value *EmitFixedPointConversion(Value *Src, QualType SrcTy, QualType DstTy,
367 QualType SrcTy, QualType DstTy,
970 llvm::Type *SrcTy = Src->getType(); in EmitIntegerTruncationCheckHelper() local
976 assert(SrcTy->getScalarSizeInBits() > Dst->getType()->getScalarSizeInBits()); in EmitIntegerTruncationCheckHelper()
977 assert(isa<llvm::IntegerType>(SrcTy) && isa<llvm::IntegerType>(DstTy) && in EmitIntegerTruncationCheckHelper()
997 Check = Builder.CreateIntCast(Dst, SrcTy, DstSigned, "anyext"); in EmitIntegerTruncationCheckHelper()
1064 llvm::Type *SrcTy = Src->getType(); in EmitIntegerSignChangeCheckHelper() local
1067 assert(isa<llvm::IntegerType>(SrcTy) && isa<llvm::IntegerType>(DstTy) && in EmitIntegerSignChangeCheckHelper()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/
DExecution.cpp1270 Type *SrcTy = SrcVal->getType(); in executeTruncInst() local
1271 if (SrcTy->isVectorTy()) { in executeTruncInst()
1289 Type *SrcTy = SrcVal->getType(); in executeSExtInst() local
1291 if (SrcTy->isVectorTy()) { in executeSExtInst()
1309 Type *SrcTy = SrcVal->getType(); in executeZExtInst() local
1311 if (SrcTy->isVectorTy()) { in executeZExtInst()
1375 Type *SrcTy = SrcVal->getType(); in executeFPToUIInst() local
1378 if (isa<VectorType>(SrcTy)) { in executeFPToUIInst()
1380 Type *SrcVecTy = SrcTy->getScalarType(); in executeFPToUIInst()
1399 assert(SrcTy->isFloatingPointTy() && "Invalid FPToUI instruction"); in executeFPToUIInst()
[all …]
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/
DHexagonTargetTransformInfo.cpp284 Type *SrcTy, in getCastInstrCost() argument
288 if (SrcTy->isFPOrFPVectorTy() || DstTy->isFPOrFPVectorTy()) { in getCastInstrCost()
289 unsigned SrcN = SrcTy->isFPOrFPVectorTy() ? getTypeNumElements(SrcTy) : 0; in getCastInstrCost()
293 TLI.getTypeLegalizationCost(DL, SrcTy); in getCastInstrCost()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/IPO/
DMergeFunctions.cpp485 Type *SrcTy = V->getType(); in createCast() local
486 if (SrcTy->isStructTy()) { in createCast()
488 assert(SrcTy->getStructNumElements() == DestTy->getStructNumElements()); in createCast()
490 for (unsigned int I = 0, E = SrcTy->getStructNumElements(); I < E; ++I) { in createCast()
501 if (SrcTy->isIntegerTy() && DestTy->isPointerTy()) in createCast()
503 else if (SrcTy->isPointerTy() && DestTy->isIntegerTy()) in createCast()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/NVPTX/
DNVPTXISelLowering.h463 bool isTruncateFree(Type *SrcTy, Type *DstTy) const override { in isTruncateFree() argument
465 if (!SrcTy->isIntegerTy() || !DstTy->isIntegerTy()) in isTruncateFree()
467 return SrcTy->getPrimitiveSizeInBits() == 64 && in isTruncateFree()

1234