| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
| H A D | LegalizerHelper.cpp | 2082 void LegalizerHelper::widenScalarSrc(MachineInstr &MI, LLT WideTy, in widenScalarSrc() argument 2085 auto ExtB = MIRBuilder.buildInstr(ExtOpcode, {WideTy}, {MO}); in widenScalarSrc() 2096 void LegalizerHelper::widenScalarDst(MachineInstr &MI, LLT WideTy, in widenScalarDst() argument 2099 Register DstExt = MRI.createGenericVirtualRegister(WideTy); in widenScalarDst() 2114 void LegalizerHelper::moreElementsVectorDst(MachineInstr &MI, LLT WideTy, in moreElementsVectorDst() argument 2119 Register DstExt = MRI.createGenericVirtualRegister(WideTy); in moreElementsVectorDst() 2145 LLT WideTy) { in widenScalarMergeValues() argument 2156 const int WideSize = WideTy.getSizeInBits(); in widenScalarMergeValues() 2165 Register ResultReg = MIRBuilder.buildZExt(WideTy, Src1Reg).getReg(0); in widenScalarMergeValues() 2173 auto ZextInput = MIRBuilder.buildZExt(WideTy, SrcReg); in widenScalarMergeValues() [all …]
|
| H A D | CombinerHelper.cpp | 5119 LLT WideTy = MRI.getType(Dst); in matchNarrowBinopFeedingAnd() local 5123 if (!WideTy.isScalar() || !MRI.hasOneNonDBGUse(AndLHS)) in matchNarrowBinopFeedingAnd() 5158 if (NarrowWidth == WideTy.getSizeInBits()) in matchNarrowBinopFeedingAnd() 5166 if (!TLI.isTruncateFree(WideTy, NarrowTy, Ctx) || in matchNarrowBinopFeedingAnd() 5167 !TLI.isZExtFree(NarrowTy, WideTy, Ctx)) in matchNarrowBinopFeedingAnd() 5169 if (!isLegalOrBeforeLegalizer({TargetOpcode::G_TRUNC, {NarrowTy, WideTy}}) || in matchNarrowBinopFeedingAnd() 5170 !isLegalOrBeforeLegalizer({TargetOpcode::G_ZEXT, {WideTy, NarrowTy}})) in matchNarrowBinopFeedingAnd() 5179 auto Ext = Builder.buildZExt(WideTy, NarrowBinOp); in matchNarrowBinopFeedingAnd() 5531 LLT WideTy = DstTy.changeElementSize(SizeInBits * 2); in matchSDivByConst() local 5560 !isLegalOrHasWidenScalar({TargetOpcode::G_MUL, {WideTy, WideTy}})) in matchSDivByConst()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVCodeGenPrepare.cpp | 154 Type *WideTy = in widenVPMerge() local 159 PHINode *WidePhi = Builder.CreatePHI(WideTy, 2); in widenVPMerge() 160 WidePhi->addIncoming(ConstantAggregateZero::get(WideTy), in widenVPMerge() 163 Value *WideTrue = Builder.CreateZExt(True, WideTy); in widenVPMerge() 164 Value *WideMerge = Builder.CreateIntrinsic(Intrinsic::vp_merge, {WideTy}, in widenVPMerge()
|
| H A D | RISCVTargetTransformInfo.cpp | 862 VectorType *WideTy = in getShuffleCost() local 865 return getCastInstrCost(Instruction::ZExt, WideTy, SrcTy, in getShuffleCost() 867 getShuffleCost(TTI::SK_Reverse, WideTy, WideTy, {}, CostKind, 0, in getShuffleCost() 869 getCastInstrCost(Instruction::Trunc, SrcTy, WideTy, in getShuffleCost() 2247 VectorType *WideTy = in getVectorInstrCost() local 2252 = getCastInstrCost(Instruction::ZExt, WideTy, Val, in getVectorInstrCost() 2255 = getVectorInstrCost(Opcode, WideTy, CostKind, Index, nullptr, nullptr); in getVectorInstrCost() 2259 = getCastInstrCost(Instruction::ZExt, WideTy, Val, in getVectorInstrCost() 2262 = getVectorInstrCost(Opcode, WideTy, CostKind, Index, nullptr, nullptr); in getVectorInstrCost() 2264 = getCastInstrCost(Instruction::Trunc, Val, WideTy, in getVectorInstrCost()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | LegalizerHelper.h | 112 LLT WideTy); 142 LLVM_ABI void widenScalarSrc(MachineInstr &MI, LLT WideTy, unsigned OpIdx, 153 LLVM_ABI void widenScalarDst(MachineInstr &MI, LLT WideTy, unsigned OpIdx = 0, 183 widenScalarMergeValues(MachineInstr &MI, unsigned TypeIdx, LLT WideTy); 185 widenScalarUnmergeValues(MachineInstr &MI, unsigned TypeIdx, LLT WideTy); 187 widenScalarExtract(MachineInstr &MI, unsigned TypeIdx, LLT WideTy); 189 widenScalarInsert(MachineInstr &MI, unsigned TypeIdx, LLT WideTy); 191 LLT WideTy); 193 LLT WideTy); 195 LLT WideTy);
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopConstrainer.cpp | 201 IntegerType *WideTy = in parseLoopStructure() local 205 dyn_cast<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in parseLoopStructure() 207 const SCEV *ExtendedStart = SE.getSignExtendExpr(AR->getStart(), WideTy); in parseLoopStructure() 209 SE.getSignExtendExpr(AR->getStepRecurrence(SE), WideTy); in parseLoopStructure()
|
| H A D | ScalarEvolutionExpander.cpp | 931 Type *WideTy = IntegerType::get(AR->getType()->getContext(), BitWidth * 2); in IsIncrementNSW() local 933 const SCEV *OpAfterExtend = SE.getAddExpr(SE.getSignExtendExpr(Step, WideTy), in IsIncrementNSW() 934 SE.getSignExtendExpr(AR, WideTy)); in IsIncrementNSW() 936 SE.getSignExtendExpr(SE.getAddExpr(AR, Step), WideTy); in IsIncrementNSW() 945 Type *WideTy = IntegerType::get(AR->getType()->getContext(), BitWidth * 2); in IsIncrementNUW() local 947 const SCEV *OpAfterExtend = SE.getAddExpr(SE.getZeroExtendExpr(Step, WideTy), in IsIncrementNUW() 948 SE.getZeroExtendExpr(AR, WideTy)); in IsIncrementNUW() 950 SE.getZeroExtendExpr(SE.getAddExpr(AR, Step), WideTy); in IsIncrementNUW()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/ |
| H A D | AArch64PreLegalizerCombiner.cpp | 95 LLT WideTy = MRI.getType(WideReg); in matchICmpRedundantTrunc() local 97 WideTy.getSizeInBits() - LHSTy.getSizeInBits()) in matchICmpRedundantTrunc() 109 LLT WideTy = MRI.getType(WideReg); in applyICmpRedundantTrunc() local 113 auto WideZero = Builder.buildConstant(WideTy, 0); in applyICmpRedundantTrunc()
|
| H A D | AArch64CallLowering.cpp | 769 LLT WideTy = MRI.getType(WideReg); in lowerFormalArguments() local 773 OrigReg, MIRBuilder.buildAssertZExt(WideTy, WideReg, 1).getReg(0)); in lowerFormalArguments()
|
| H A D | AArch64InstructionSelector.cpp | 4085 const LLT WideTy = MRI.getType(SrcReg); in selectExtractElt() local 4086 (void)WideTy; in selectExtractElt() 4087 assert(WideTy.getSizeInBits() >= NarrowTy.getSizeInBits() && in selectExtractElt() 4165 const LLT WideTy = MRI.getType(SrcReg); in selectUnmergeValues() local 4166 (void)WideTy; in selectUnmergeValues() 4167 assert((WideTy.isVector() || WideTy.getSizeInBits() == 128) && in selectUnmergeValues() 4169 assert(WideTy.getSizeInBits() > NarrowTy.getSizeInBits() && in selectUnmergeValues() 4200 LLT::fixed_vector(NumElts, WideTy.getScalarSizeInBits()), in selectUnmergeValues()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPURegBankLegalizeHelper.h | 108 void widenLoad(MachineInstr &MI, LLT WideTy, LLT MergeTy = LLT());
|
| H A D | AMDGPURegBankLegalizeHelper.cpp | 108 void RegBankLegalizeHelper::widenLoad(MachineInstr &MI, LLT WideTy, in widenLoad() argument 117 MachineMemOperand *WideMMO = MF.getMachineMemOperand(&BaseMMO, 0, WideTy); in widenLoad() 118 auto WideLoad = B.buildLoad({DstRB, WideTy}, Base, *WideMMO); in widenLoad() 120 if (WideTy.isScalar()) { in widenLoad()
|
| H A D | AMDGPULegalizerInfo.cpp | 3182 LLT WideTy = widenToNextPowerOf2(ValTy); in legalizeLoad() local 3185 if (!WideTy.isVector()) { in legalizeLoad() 3186 WideLoad = B.buildLoadFromOffset(WideTy, PtrReg, *MMO, 0).getReg(0); in legalizeLoad() 3194 WideLoad = B.buildLoadFromOffset(WideTy, PtrReg, *MMO, 0).getReg(0); in legalizeLoad() 3199 WideLoad = B.buildLoadFromOffset(WideTy, PtrReg, *MMO, 0).getReg(0); in legalizeLoad()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | InductiveRangeCheckElimination.cpp | 450 auto WideTy = IntegerType::get(Ty->getContext(), Ty->getBitWidth() * 2); in reassociateSubLHS() local 451 return (SE.*Operation)(SE.getSignExtendExpr(LHS, WideTy), in reassociateSubLHS() 452 SE.getSignExtendExpr(RHS, WideTy), SCEV::FlagAnyWrap, in reassociateSubLHS()
|
| H A D | LoopStrengthReduce.cpp | 805 Type *WideTy = in isAddRecSExtable() local 807 return isa<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in isAddRecSExtable() 813 Type *WideTy = in isAddSExtable() local 815 return isa<SCEVAddExpr>(SE.getSignExtendExpr(A, WideTy)); in isAddSExtable() 821 Type *WideTy = in isMulSExtable() local 824 return isa<SCEVMulExpr>(SE.getSignExtendExpr(M, WideTy)); in isMulSExtable()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonISelLowering.cpp | 1127 MVT WideTy = MVT::getVectorVT(MVT::getIntegerVT(2*ElemTy.getSizeInBits()), in LowerSETCC() local 1130 DAG.getSExtOrTrunc(LHS, SDLoc(LHS), WideTy), in LowerSETCC() 1131 DAG.getSExtOrTrunc(RHS, SDLoc(RHS), WideTy), CC); in LowerSETCC() 1185 MVT WideTy = MVT::getVectorVT(MVT::getIntegerVT(2*ElemTy.getSizeInBits()), in LowerVSELECT() local 1189 DAG.getSelect(dl, WideTy, PredOp, in LowerVSELECT() 1190 DAG.getSExtOrTrunc(Op1, dl, WideTy), in LowerVSELECT() 1191 DAG.getSExtOrTrunc(Op2, dl, WideTy)), in LowerVSELECT()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | ScalarEvolution.cpp | 1379 Type *WideTy = IntegerType::get(SE->getContext(), BitWidth * 2); in getPreStartForExtend() local 1381 SE->getAddExpr((SE->*GetExtendExpr)(PreStart, WideTy, Depth), in getPreStartForExtend() 1382 (SE->*GetExtendExpr)(Step, WideTy, Depth)); in getPreStartForExtend() 1383 if ((SE->*GetExtendExpr)(Start, WideTy, Depth) == OperandExtendedStart) { in getPreStartForExtend() 1657 Type *WideTy = IntegerType::get(getContext(), BitWidth * 2); in getZeroExtendExprImpl() local 1664 WideTy, Depth + 1); in getZeroExtendExprImpl() 1665 const SCEV *WideStart = getZeroExtendExpr(Start, WideTy, Depth + 1); in getZeroExtendExprImpl() 1667 getZeroExtendExpr(CastedMaxBECount, WideTy, Depth + 1); in getZeroExtendExprImpl() 1671 getZeroExtendExpr(Step, WideTy, Depth + 1), in getZeroExtendExprImpl() 1688 getSignExtendExpr(Step, WideTy, Depth + 1), in getZeroExtendExprImpl() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorize.cpp | 4214 Type *WideTy = toVectorizedTy(ScalarTy, VF); in willGenerateVectors() local 4215 if (any_of(getContainedTypes(WideTy), WillGenerateTargetVectors)) in willGenerateVectors() 5027 Type *WideTy = toVectorizedTy(I->getType(), VF); in computePredInstDiscount() local 5028 for (Type *VectorTy : getContainedTypes(WideTy)) { in computePredInstDiscount() 5049 Type *WideTy = toVectorizedTy(J->getType(), VF); in computePredInstDiscount() local 5050 for (Type *VectorTy : getContainedTypes(WideTy)) { in computePredInstDiscount()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64ISelDAGToDAG.cpp | 2364 MVT WideTy = MVT::getVectorVT(EltTy, 2 * NarrowSize); in operator ()() local 2368 SDValue(DAG.getMachineNode(TargetOpcode::IMPLICIT_DEF, DL, WideTy), 0); in operator ()() 2369 return DAG.getTargetInsertSubreg(AArch64::dsub, DL, WideTy, Undef, V64Reg); in operator ()()
|
| H A D | AArch64TargetTransformInfo.cpp | 2601 IntegerType *WideTy = IC.Builder.getIntNTy(PatternWidth); in instCombineSVEDupqLane() local 2602 auto *WideScalableTy = ScalableVectorType::get(WideTy, PatternElementCount); in instCombineSVEDupqLane()
|
| H A D | AArch64ISelLowering.cpp | 12803 MVT WideTy = MVT::getVectorVT(EltTy, 2 * NarrowSize); in WidenVector() local 12806 return DAG.getNode(ISD::INSERT_SUBVECTOR, DL, WideTy, DAG.getUNDEF(WideTy), in WidenVector() 15395 EVT WideTy = WideVec.getValueType(); in LowerEXTRACT_VECTOR_ELT() local 15397 EVT ExtrTy = WideTy.getVectorElementType(); in LowerEXTRACT_VECTOR_ELT()
|