/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
H A D | MIPatternMatch.h | 553 template <typename SrcTy, unsigned Opcode> struct UnaryOp_match { 554 SrcTy L; 556 UnaryOp_match(const SrcTy &LHS) : L(LHS) {} 569 template <typename SrcTy> 570 inline UnaryOp_match<SrcTy, TargetOpcode::G_ANYEXT> 571 m_GAnyExt(const SrcTy &Src) { 572 return UnaryOp_match<SrcTy, TargetOpcode::G_ANYEXT>(Src); 575 template <typename SrcTy> 576 inline UnaryOp_match<SrcTy, TargetOpcode::G_SEXT> m_GSExt(const SrcTy &Src) { 577 return UnaryOp_match<SrcTy, TargetOpcode::G_SEXT>(Src); [all …]
|
H A D | LegalizationArtifactCombiner.h | 140 LLT SrcTy = MRI.getType(SrcReg); in tryCombineZExt() local 141 APInt MaskVal = APInt::getAllOnes(SrcTy.getScalarSizeInBits()); in tryCombineZExt() 211 LLT SrcTy = MRI.getType(SrcReg); in tryCombineSExt() local 212 uint64_t SizeInBits = SrcTy.getScalarSizeInBits(); in tryCombineSExt() 429 const LLT SrcTy = MRI.getType(MI.getOperand(NumDefs).getReg()); in tryFoldUnmergeCast() local 435 if (SrcTy.isVector() && SrcTy.getScalarType() == DestTy.getScalarType()) { in tryFoldUnmergeCast() 450 SrcTy.changeElementCount(ElementCount::getFixed(UnmergeNumElts)); in tryFoldUnmergeCast() 471 if (CastSrcTy.isScalar() && SrcTy.isScalar() && !DestTy.isVector()) { in tryFoldUnmergeCast() 679 LLT SrcTy = MRI.getType(Src1Reg); in findValueFromBuildVector() local 680 LLT NewBVTy = LLT::fixed_vector(NumSrcsUsed, SrcTy); in findValueFromBuildVector() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/ |
H A D | AArch64PreLegalizerCombiner.cpp | 250 LLT SrcTy; in matchExtAddvToUdotAddv() local 268 SrcTy = MRI.getType(ExtMI1->getOperand(1).getReg()); in matchExtAddvToUdotAddv() 272 SrcTy = MRI.getType(I1->getOperand(1).getReg()); in matchExtAddvToUdotAddv() 284 if (SrcTy.getScalarSizeInBits() != 8 || SrcTy.getNumElements() % 8 != 0) in matchExtAddvToUdotAddv() 315 LLT SrcTy = MRI.getType(Ext1SrcReg); in applyExtAddvToUdotAddv() local 318 if (SrcTy.getNumElements() % 16 == 0) { in applyExtAddvToUdotAddv() 319 NumOfDotMI = SrcTy.getNumElements() / 16; in applyExtAddvToUdotAddv() 321 } else if (SrcTy.getNumElements() % 8 == 0) { in applyExtAddvToUdotAddv() 322 NumOfDotMI = SrcTy.getNumElements() / 8; in applyExtAddvToUdotAddv() 338 if (SrcTy.getNumElements() % 16 != 0) { in applyExtAddvToUdotAddv() [all …]
|
H A D | AArch64RegisterBankInfo.cpp | 496 const LLT SrcTy = MRI.getType(MI.getOperand(2).getReg()); in isFPIntrinsic() local 497 return SrcTy.getElementType().getSizeInBits() >= 16 && in isFPIntrinsic() 498 SrcTy.getElementCount().getFixedValue() >= 4; in isFPIntrinsic() 689 LLT SrcTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping() local 692 getFPExtMapping(DstTy.getSizeInBits(), SrcTy.getSizeInBits()), in getInstrMapping() 700 LLT SrcTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping() local 701 if (ShiftAmtTy.getSizeInBits() == 64 && SrcTy.getSizeInBits() == 32) in getInstrMapping() 733 LLT SrcTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping() local 736 bool SrcIsGPR = !SrcTy.isVector() && SrcTy.getSizeInBits() <= 64; in getInstrMapping() 800 LLT SrcTy = MRI.getType(MI.getOperand(1).getReg()); in getInstrMapping() local [all …]
|
H A D | AArch64PostLegalizerLowering.cpp | 693 const LLT SrcTy = MRI.getType(Src1Reg); in matchDupLane() local 701 if (*LaneIdx >= SrcTy.getNumElements()) in matchDupLane() 704 if (DstTy != SrcTy) in matchDupLane() 707 LLT ScalarTy = SrcTy.getElementType(); in matchDupLane() 711 switch (SrcTy.getNumElements()) { in matchDupLane() 749 const LLT SrcTy = MRI.getType(Src1Reg); in applyDupLane() local 757 if (SrcTy.getSizeInBits() == 64) { in applyDupLane() 758 auto Undef = B.buildUndef(SrcTy); in applyDupLane() 759 DupSrc = B.buildConcatVectors(SrcTy.multiplyElements(2), in applyDupLane() 770 const LLT SrcTy = MRI.getType(Src1Reg); in matchScalarizeVectorUnmerge() local [all …]
|
H A D | AArch64LegalizerInfo.cpp | 156 const auto &SrcTy = Query.Types[0]; in AArch64LegalizerInfo() local 158 return !SrcTy.isVector() && SrcTy.getSizeInBits() == 32 && in AArch64LegalizerInfo() 533 const LLT &SrcTy = Query.Types[1]; in AArch64LegalizerInfo() local 534 return Ty.isVector() && !SrcTy.isPointerVector() && in AArch64LegalizerInfo() 535 Ty.getElementType() != SrcTy.getElementType(); in AArch64LegalizerInfo() 568 const LLT &SrcTy = Query.Types[1]; in AArch64LegalizerInfo() local 569 return Ty.isVector() && !SrcTy.isPointerVector() && in AArch64LegalizerInfo() 570 Ty.getElementType() != SrcTy.getElementType(); in AArch64LegalizerInfo() 589 const LLT &SrcTy = Query.Types[1]; in AArch64LegalizerInfo() local 594 unsigned SrcSize = SrcTy.getSizeInBits(); in AArch64LegalizerInfo() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineCasts.cpp | 128 Type *SrcTy = CI1->getSrcTy(); in isEliminableCastPair() local 135 SrcTy->isPtrOrPtrVectorTy() ? DL.getIntPtrType(SrcTy) : nullptr; in isEliminableCastPair() 140 unsigned Res = CastInst::isEliminableCastPair(firstOp, secondOp, SrcTy, MidTy, in isEliminableCastPair() 146 if ((Res == Instruction::IntToPtr && SrcTy != DstIntPtrTy) || in isEliminableCastPair() 216 auto *SrcTy = dyn_cast<FixedVectorType>(X->getType()); in commonCastTransforms() local 218 if (SrcTy && DestTy && in commonCastTransforms() 219 SrcTy->getNumElements() == DestTy->getNumElements() && in commonCastTransforms() 220 SrcTy->getPrimitiveSizeInBits() == DestTy->getPrimitiveSizeInBits()) { in commonCastTransforms() 545 Type *SrcTy = Trunc.getSrcTy(); in narrowBinOp() local 547 unsigned SrcWidth = SrcTy->getScalarSizeInBits(); in narrowBinOp() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | MachineVerifier.cpp | 1149 LLT SrcTy = MRI->getType(Src); in verifyPreISelGenericInstruction() local 1156 if (Imm >= SrcTy.getScalarSizeInBits()) { in verifyPreISelGenericInstruction() 1276 LLT SrcTy = MRI->getType(MI->getOperand(1).getReg()); in verifyPreISelGenericInstruction() local 1277 if (!DstTy.isValid() || !SrcTy.isValid()) in verifyPreISelGenericInstruction() 1280 if (SrcTy.isPointer() != DstTy.isPointer()) in verifyPreISelGenericInstruction() 1283 if (SrcTy.getSizeInBits() != DstTy.getSizeInBits()) in verifyPreISelGenericInstruction() 1286 if (SrcTy == DstTy) in verifyPreISelGenericInstruction() 1295 LLT SrcTy = MRI->getType(MI->getOperand(1).getReg()); in verifyPreISelGenericInstruction() local 1296 if (!DstTy.isValid() || !SrcTy.isValid()) in verifyPreISelGenericInstruction() 1299 verifyVectorElementMatch(DstTy, SrcTy, MI); in verifyPreISelGenericInstruction() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
H A D | LegalizerHelper.cpp | 238 LLT SrcTy = MRI.getType(SrcReg); in extractGCDType() local 239 if (SrcTy == GCDTy) { in extractGCDType() 252 LLT SrcTy = MRI.getType(SrcReg); in extractGCDType() local 253 LLT GCDTy = getGCDType(getGCDType(SrcTy, NarrowTy), DstTy); in extractGCDType() 1403 LLT SrcTy = MRI.getType(SrcReg); in narrowScalar() local 1404 if (SrcTy.isVector()) in narrowScalar() 1409 unsigned LeftoverBits = SrcTy.getSizeInBits() - HandledSize; in narrowScalar() 1410 if (SrcTy.isVector() && LeftoverBits != 0) in narrowScalar() 1413 if (8 * StoreMI.getMemSize().getValue() != SrcTy.getSizeInBits()) { in narrowScalar() 1526 LLT SrcTy = MRI.getType(LHS); in narrowScalar() local [all …]
|
H A D | CallLowering.cpp | 559 Register SrcReg, LLT SrcTy, LLT PartTy, in buildCopyToRegs() argument 562 assert(SrcTy != PartTy && "identical part types shouldn't reach here"); in buildCopyToRegs() 566 if (PartTy.isVector() == SrcTy.isVector() && in buildCopyToRegs() 567 PartTy.getScalarSizeInBits() > SrcTy.getScalarSizeInBits()) { in buildCopyToRegs() 573 if (SrcTy.isVector() && !PartTy.isVector() && in buildCopyToRegs() 574 TypeSize::isKnownGT(PartSize, SrcTy.getElementType().getSizeInBits())) { in buildCopyToRegs() 576 auto UnmergeToEltTy = B.buildUnmerge(SrcTy.getElementType(), SrcReg); in buildCopyToRegs() 582 if (SrcTy.isVector() && PartTy.isVector() && in buildCopyToRegs() 583 PartTy.getSizeInBits() == SrcTy.getSizeInBits() && in buildCopyToRegs() 584 ElementCount::isKnownLT(SrcTy.getElementCount(), in buildCopyToRegs() [all …]
|
H A D | CSEMIRBuilder.cpp | 185 LLT SrcTy = SrcOps[1].getLLTTy(*getMRI()); in buildInstr() local 190 if (SrcTy.isVector()) in buildInstr() 217 LLT SrcTy = SrcOps[0].getLLTTy(*getMRI()); in buildInstr() local 220 getDataLayout().isNonIntegralAddressSpace(SrcTy.getAddressSpace())) in buildInstr() 223 if (SrcTy.isVector()) { in buildInstr()
|
H A D | GISelKnownBits.cpp | 466 LLT SrcTy = MRI.getType(SrcReg); in computeKnownBitsImpl() local 473 SrcBitWidth = SrcTy.isPointer() in computeKnownBitsImpl() 474 ? DL.getIndexSizeInBits(SrcTy.getAddressSpace()) in computeKnownBitsImpl() 475 : SrcTy.getSizeInBits(); in computeKnownBitsImpl() 695 LLT SrcTy = MRI.getType(Src); in computeNumSignBits() local 696 unsigned Tmp = DstTy.getScalarSizeInBits() - SrcTy.getScalarSizeInBits(); in computeNumSignBits() 760 LLT SrcTy = MRI.getType(Src); in computeNumSignBits() local 764 unsigned NumSrcBits = SrcTy.getScalarSizeInBits(); in computeNumSignBits()
|
H A D | MachineIRBuilder.cpp | 597 LLT SrcTy = Src.getLLTTy(*getMRI()); in buildCast() local 599 if (SrcTy == DstTy) in buildCast() 603 if (SrcTy.isPointer() && DstTy.isScalar()) in buildCast() 605 else if (DstTy.isPointer() && SrcTy.isScalar()) in buildCast() 608 assert(!SrcTy.isPointer() && !DstTy.isPointer() && "n G_ADDRCAST yet"); in buildCast() 618 LLT SrcTy = Src.getLLTTy(*getMRI()); in buildExtract() local 622 assert(SrcTy.isValid() && "invalid operand type"); in buildExtract() 624 assert(Index + DstTy.getSizeInBits() <= SrcTy.getSizeInBits() && in buildExtract() 628 if (DstTy.getSizeInBits() == SrcTy.getSizeInBits()) { in buildExtract() 1163 void MachineIRBuilder::validateTruncExt(const LLT DstTy, const LLT SrcTy, in validateTruncExt() argument [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | Instructions.cpp | 2718 Type *SrcTy, in isNoopCast() argument 2721 assert(castIsValid(Opcode, SrcTy, DestTy) && "method precondition"); in isNoopCast() 2739 return DL.getIntPtrType(SrcTy)->getScalarSizeInBits() == in isNoopCast() 2743 SrcTy->getScalarSizeInBits(); in isNoopCast() 2761 Type *SrcTy, Type *MidTy, Type *DstTy, Type *SrcIntPtrTy, Type *MidIntPtrTy, in isEliminableCastPair() argument 2825 if ((IsFirstBitcast && isa<VectorType>(SrcTy) != isa<VectorType>(MidTy)) || in isEliminableCastPair() 2846 if (!SrcTy->isVectorTy() && DstTy->isIntegerTy()) in isEliminableCastPair() 2858 if (SrcTy->isIntegerTy()) in isEliminableCastPair() 2867 if (SrcTy->getPointerAddressSpace() != DstTy->getPointerAddressSpace()) in isEliminableCastPair() 2890 unsigned SrcSize = SrcTy->getScalarSizeInBits(); in isEliminableCastPair() [all …]
|
H A D | Verifier.cpp | 3212 Type *SrcTy = I.getOperand(0)->getType(); in visitTruncInst() local 3216 unsigned SrcBitSize = SrcTy->getScalarSizeInBits(); in visitTruncInst() 3219 Check(SrcTy->isIntOrIntVectorTy(), "Trunc only operates on integer", &I); in visitTruncInst() 3221 Check(SrcTy->isVectorTy() == DestTy->isVectorTy(), in visitTruncInst() 3230 Type *SrcTy = I.getOperand(0)->getType(); in visitZExtInst() local 3234 Check(SrcTy->isIntOrIntVectorTy(), "ZExt only operates on integer", &I); in visitZExtInst() 3236 Check(SrcTy->isVectorTy() == DestTy->isVectorTy(), in visitZExtInst() 3238 unsigned SrcBitSize = SrcTy->getScalarSizeInBits(); in visitZExtInst() 3248 Type *SrcTy = I.getOperand(0)->getType(); in visitSExtInst() local 3252 unsigned SrcBitSize = SrcTy->getScalarSizeInBits(); in visitSExtInst() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Linker/ |
H A D | IRMover.cpp | 68 void addTypeMapping(Type *DstTy, Type *SrcTy); 76 Type *get(Type *SrcTy); 77 Type *get(Type *SrcTy, SmallPtrSet<StructType *, 8> &Visited); 86 Type *remapType(Type *SrcTy) override { return get(SrcTy); } in remapType() argument 88 bool areTypesIsomorphic(Type *DstTy, Type *SrcTy); 92 void TypeMapTy::addTypeMapping(Type *DstTy, Type *SrcTy) { in addTypeMapping() argument 98 if (!areTypesIsomorphic(DstTy, SrcTy)) { in addTypeMapping() 126 bool TypeMapTy::areTypesIsomorphic(Type *DstTy, Type *SrcTy) { in areTypesIsomorphic() argument 128 if (DstTy->getTypeID() != SrcTy->getTypeID()) in areTypesIsomorphic() 132 Type *&Entry = MappedTypes[SrcTy]; in areTypesIsomorphic() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86InstructionSelector.cpp |
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/GISel/ |
H A D | X86InstructionSelector.cpp | 800 const LLT SrcTy = MRI.getType(SrcReg); in selectTruncOrPtrToInt() local 812 const TargetRegisterClass *SrcRC = getRegClass(SrcTy, SrcRB); in selectTruncOrPtrToInt() 864 const LLT SrcTy = MRI.getType(SrcReg); in selectZext() local 866 assert(!(SrcTy == LLT::scalar(8) && DstTy == LLT::scalar(16)) && in selectZext() 868 assert(!(SrcTy == LLT::scalar(8) && DstTy == LLT::scalar(32)) && in selectZext() 870 assert(!(SrcTy == LLT::scalar(16) && DstTy == LLT::scalar(32)) && in selectZext() 872 assert(!(SrcTy == LLT::scalar(8) && DstTy == LLT::scalar(64)) && in selectZext() 874 assert(!(SrcTy == LLT::scalar(16) && DstTy == LLT::scalar(64)) && in selectZext() 876 assert(!(SrcTy == LLT::scalar(32) && DstTy == LLT::scalar(64)) && in selectZext() 879 if (SrcTy != LLT::scalar(1)) in selectZext() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMTargetTransformInfo.cpp | 499 EVT SrcTy = TLI->getValueType(DL, Src); in getCastInstrCost() local 502 if (!SrcTy.isSimple() || !DstTy.isSimple()) in getCastInstrCost() 514 IsLegalFPType(SrcTy) && IsLegalFPType(DstTy))) in getCastInstrCost() 537 LoadConversionTbl, ISD, DstTy.getSimpleVT(), SrcTy.getSimpleVT())) in getCastInstrCost() 557 if (SrcTy.isVector() && ST->hasMVEIntegerOps()) { in getCastInstrCost() 560 DstTy.getSimpleVT(), SrcTy.getSimpleVT())) in getCastInstrCost() 569 if (SrcTy.isVector() && ST->hasMVEFloatOps()) { in getCastInstrCost() 572 DstTy.getSimpleVT(), SrcTy.getSimpleVT())) in getCastInstrCost() 586 if (SrcTy.isVector() && ST->hasMVEIntegerOps()) { in getCastInstrCost() 589 SrcTy.getSimpleVT(), DstTy.getSimpleVT())) in getCastInstrCost() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonTargetTransformInfo.cpp | 295 Type *SrcTy, in getCastInstrCost() argument 302 if (isNonHVXFP(SrcTy) || isNonHVXFP(DstTy)) in getCastInstrCost() 305 if (SrcTy->isFPOrFPVectorTy() || DstTy->isFPOrFPVectorTy()) { in getCastInstrCost() 306 unsigned SrcN = SrcTy->isFPOrFPVectorTy() ? getTypeNumElements(SrcTy) : 0; in getCastInstrCost() 309 std::pair<InstructionCost, MVT> SrcLT = getTypeLegalizationCost(SrcTy); in getCastInstrCost()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
H A D | SystemZTargetTransformInfo.cpp | 659 getVectorTruncCost(Type *SrcTy, Type *DstTy) { in getVectorTruncCost() argument 660 assert (SrcTy->isVectorTy() && DstTy->isVectorTy()); in getVectorTruncCost() 661 assert(SrcTy->getPrimitiveSizeInBits().getFixedValue() > in getVectorTruncCost() 664 assert(cast<FixedVectorType>(SrcTy)->getNumElements() == in getVectorTruncCost() 670 unsigned NumParts = getNumVectorRegs(SrcTy); in getVectorTruncCost() 680 unsigned Log2Diff = getElSizeLog2Diff(SrcTy, DstTy); in getVectorTruncCost() 681 unsigned VF = cast<FixedVectorType>(SrcTy)->getNumElements(); in getVectorTruncCost() 691 if (VF == 8 && SrcTy->getScalarSizeInBits() == 64 && in getVectorTruncCost() 701 getVectorBitmaskConversionCost(Type *SrcTy, Type *DstTy) { in getVectorBitmaskConversionCost() argument 702 assert (SrcTy->isVectorTy() && DstTy->isVectorTy() && in getVectorBitmaskConversionCost() [all …]
|
/freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | CGExprScalar.cpp | 362 llvm::Type *SrcTy, llvm::Type *DstTy, 365 EmitScalarConversion(Value *Src, QualType SrcTy, QualType DstTy, 371 Value *EmitFixedPointConversion(Value *Src, QualType SrcTy, QualType DstTy, 377 QualType SrcTy, QualType DstTy, 1031 llvm::Type *SrcTy = Src->getType(); in EmitIntegerTruncationCheckHelper() local 1037 assert(SrcTy->getScalarSizeInBits() > Dst->getType()->getScalarSizeInBits()); in EmitIntegerTruncationCheckHelper() 1038 assert(isa<llvm::IntegerType>(SrcTy) && isa<llvm::IntegerType>(DstTy) && in EmitIntegerTruncationCheckHelper() 1058 Check = Builder.CreateIntCast(Dst, SrcTy, DstSigned, "anyext"); in EmitIntegerTruncationCheckHelper() 1142 llvm::Type *SrcTy = Src->getType(); in EmitIntegerSignChangeCheckHelper() local 1145 assert(isa<llvm::IntegerType>(SrcTy) && isa<llvm::IntegerType>(DstTy) && in EmitIntegerSignChangeCheckHelper() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/ |
H A D | Execution.cpp | 1234 Type *SrcTy = SrcVal->getType(); in executeTruncInst() local 1235 if (SrcTy->isVectorTy()) { in executeTruncInst() 1253 Type *SrcTy = SrcVal->getType(); in executeSExtInst() local 1255 if (SrcTy->isVectorTy()) { in executeSExtInst() 1273 Type *SrcTy = SrcVal->getType(); in executeZExtInst() local 1275 if (SrcTy->isVectorTy()) { in executeZExtInst() 1339 Type *SrcTy = SrcVal->getType(); in executeFPToUIInst() local 1342 if (isa<VectorType>(SrcTy)) { in executeFPToUIInst() 1344 Type *SrcVecTy = SrcTy->getScalarType(); in executeFPToUIInst() 1363 assert(SrcTy->isFloatingPointTy() && "Invalid FPToUI instruction"); in executeFPToUIInst() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUPostLegalizerCombiner.cpp | 234 LLT SrcTy = MRI.getType(SrcReg); in applyUCharToFloat() local 235 if (SrcTy != S32) in applyUCharToFloat() 351 LLT SrcTy = MRI.getType(MatchInfo.CvtVal); in applyCvtF32UByteN() local 352 if (SrcTy != S32) { in applyCvtF32UByteN() 353 assert(SrcTy.isScalar() && SrcTy.getSizeInBits() >= 8); in applyCvtF32UByteN()
|
/freebsd/contrib/llvm-project/compiler-rt/lib/ubsan/ |
H A D | ubsan_handlers.cpp | 558 const TypeDescriptor &SrcTy = Data->FromType; in handleImplicitConversion() local 560 bool SrcSigned = SrcTy.isSignedIntegerTy(); in handleImplicitConversion() 602 << SrcTy << Value(SrcTy, Src) << SrcTy.getIntegerBitWidth() in handleImplicitConversion() 609 << SrcTy << Value(SrcTy, Src) << SrcTy.getIntegerBitWidth() in handleImplicitConversion()
|