| /freebsd-12-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
| D | MIPatternMatch.h | 386 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 …]
|
| D | LegalizationArtifactCombiner.h | 122 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/ |
| D | AArch64RegisterBankInfo.cpp | 598 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 …]
|
| D | AArch64LegalizerInfo.cpp | 124 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 …]
|
| D | AArch64InstructionSelector.cpp | 1026 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 …]
|
| D | AArch64PostLegalizerLowering.cpp | 648 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/ |
| D | InstCombineCasts.cpp | 252 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/ |
| D | LegalizerHelper.cpp | 247 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 …]
|
| D | CallLowering.cpp | 451 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 …]
|
| D | GISelKnownBits.cpp | 450 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()
|
| D | MachineIRBuilder.cpp | 498 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/ |
| D | IRMover.cpp | 58 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/ |
| D | MachineVerifier.cpp | 961 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/ |
| D | ARMTargetTransformInfo.cpp | 422 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/ |
| D | Instructions.cpp | 2682 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 …]
|
| D | Verifier.cpp | 2767 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/ |
| D | X86InstructionSelector.cpp | 717 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/ |
| D | AMDGPUPostLegalizerCombiner.cpp | 188 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/ |
| D | SystemZTargetTransformInfo.cpp | 611 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 …]
|
| D | SystemZTargetTransformInfo.h | 96 unsigned getVectorTruncCost(Type *SrcTy, Type *DstTy); 97 unsigned getVectorBitmaskConversionCost(Type *SrcTy, Type *DstTy);
|
| /freebsd-12-stable/contrib/llvm-project/clang/lib/CodeGen/ |
| D | CGExprScalar.cpp | 352 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/ |
| D | Execution.cpp | 1270 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/ |
| D | HexagonTargetTransformInfo.cpp | 284 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/ |
| D | MergeFunctions.cpp | 485 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/ |
| D | NVPTXISelLowering.h | 463 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()
|