/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
H A D | LegalizerHelper.cpp | 1782 void LegalizerHelper::widenScalarSrc(MachineInstr &MI, LLT WideTy, in widenScalarSrc() argument 1785 auto ExtB = MIRBuilder.buildInstr(ExtOpcode, {WideTy}, {MO}); in widenScalarSrc() 1796 void LegalizerHelper::widenScalarDst(MachineInstr &MI, LLT WideTy, in widenScalarDst() argument 1799 Register DstExt = MRI.createGenericVirtualRegister(WideTy); in widenScalarDst() 1814 void LegalizerHelper::moreElementsVectorDst(MachineInstr &MI, LLT WideTy, in moreElementsVectorDst() argument 1819 Register DstExt = MRI.createGenericVirtualRegister(WideTy); in moreElementsVectorDst() 1846 LLT WideTy) { in widenScalarMergeValues() argument 1857 const int WideSize = WideTy.getSizeInBits(); in widenScalarMergeValues() 1866 Register ResultReg = MIRBuilder.buildZExt(WideTy, Src1Reg).getReg(0); in widenScalarMergeValues() 1874 auto ZextInput = MIRBuilder.buildZExt(WideTy, SrcReg); in widenScalarMergeValues() [all …]
|
H A D | CombinerHelper.cpp | 4988 LLT WideTy = MRI.getType(Dst); in matchNarrowBinopFeedingAnd() local 4992 if (!WideTy.isScalar() || !MRI.hasOneNonDBGUse(AndLHS)) in matchNarrowBinopFeedingAnd() 5027 if (NarrowWidth == WideTy.getSizeInBits()) in matchNarrowBinopFeedingAnd() 5036 if (!TLI.isTruncateFree(WideTy, NarrowTy, DL, Ctx) || in matchNarrowBinopFeedingAnd() 5037 !TLI.isZExtFree(NarrowTy, WideTy, DL, Ctx)) in matchNarrowBinopFeedingAnd() 5039 if (!isLegalOrBeforeLegalizer({TargetOpcode::G_TRUNC, {NarrowTy, WideTy}}) || in matchNarrowBinopFeedingAnd() 5040 !isLegalOrBeforeLegalizer({TargetOpcode::G_ZEXT, {WideTy, NarrowTy}})) in matchNarrowBinopFeedingAnd() 5049 auto Ext = Builder.buildZExt(WideTy, NarrowBinOp); in matchNarrowBinopFeedingAnd()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
H A D | LegalizerHelper.h | 107 LegalizeResult widenScalar(MachineInstr &MI, unsigned TypeIdx, LLT WideTy); 137 void widenScalarSrc(MachineInstr &MI, LLT WideTy, unsigned OpIdx, 148 void widenScalarDst(MachineInstr &MI, LLT WideTy, unsigned OpIdx = 0, 176 widenScalarMergeValues(MachineInstr &MI, unsigned TypeIdx, LLT WideTy); 178 widenScalarUnmergeValues(MachineInstr &MI, unsigned TypeIdx, LLT WideTy); 180 widenScalarExtract(MachineInstr &MI, unsigned TypeIdx, LLT WideTy); 182 widenScalarInsert(MachineInstr &MI, unsigned TypeIdx, LLT WideTy); 184 LLT WideTy); 186 LLT WideTy); 188 LLT WideTy);
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/ |
H A D | AArch64PreLegalizerCombiner.cpp | 96 LLT WideTy = MRI.getType(WideReg); in matchICmpRedundantTrunc() local 98 WideTy.getSizeInBits() - LHSTy.getSizeInBits()) in matchICmpRedundantTrunc() 110 LLT WideTy = MRI.getType(WideReg); in applyICmpRedundantTrunc() local 114 auto WideZero = Builder.buildConstant(WideTy, 0); in applyICmpRedundantTrunc()
|
H A D | AArch64CallLowering.cpp | 720 LLT WideTy = MRI.getType(WideReg); in lowerFormalArguments() local 724 OrigReg, MIRBuilder.buildAssertZExt(WideTy, WideReg, 1).getReg(0)); in lowerFormalArguments()
|
H A D | AArch64InstructionSelector.cpp | 3950 const LLT WideTy = MRI.getType(SrcReg); in selectExtractElt() local 3951 (void)WideTy; in selectExtractElt() 3952 assert(WideTy.getSizeInBits() >= NarrowTy.getSizeInBits() && in selectExtractElt() 4030 const LLT WideTy = MRI.getType(SrcReg); in selectUnmergeValues() local 4031 (void)WideTy; in selectUnmergeValues() 4032 assert((WideTy.isVector() || WideTy.getSizeInBits() == 128) && in selectUnmergeValues() 4034 assert(WideTy.getSizeInBits() > NarrowTy.getSizeInBits() && in selectUnmergeValues() 4065 LLT::fixed_vector(NumElts, WideTy.getScalarSizeInBits()), in selectUnmergeValues()
|
/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 | 907 Type *WideTy = IntegerType::get(AR->getType()->getContext(), BitWidth * 2); in IsIncrementNSW() local 909 const SCEV *OpAfterExtend = SE.getAddExpr(SE.getSignExtendExpr(Step, WideTy), in IsIncrementNSW() 910 SE.getSignExtendExpr(AR, WideTy)); in IsIncrementNSW() 912 SE.getSignExtendExpr(SE.getAddExpr(AR, Step), WideTy); in IsIncrementNSW() 921 Type *WideTy = IntegerType::get(AR->getType()->getContext(), BitWidth * 2); in IsIncrementNUW() local 923 const SCEV *OpAfterExtend = SE.getAddExpr(SE.getZeroExtendExpr(Step, WideTy), in IsIncrementNUW() 924 SE.getZeroExtendExpr(AR, WideTy)); in IsIncrementNUW() 926 SE.getZeroExtendExpr(SE.getAddExpr(AR, Step), WideTy); in IsIncrementNUW()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | InductiveRangeCheckElimination.cpp | 456 auto WideTy = IntegerType::get(Ty->getContext(), Ty->getBitWidth() * 2); in reassociateSubLHS() 457 return (SE.*Operation)(SE.getSignExtendExpr(LHS, WideTy), in reassociateSubLHS() 458 SE.getSignExtendExpr(RHS, WideTy), SCEV::FlagAnyWrap, in reassociateSubLHS() local 970 IntegerType *WideTy = parseLoopStructure() local
|
H A D | LoopStrengthReduce.cpp | 797 Type *WideTy = in isAddRecSExtable() local 799 return isa<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in isAddRecSExtable() 805 Type *WideTy = in isAddSExtable() local 807 return isa<SCEVAddExpr>(SE.getSignExtendExpr(A, WideTy)); in isAddSExtable() 813 Type *WideTy = in isMulSExtable() local 816 return isa<SCEVMulExpr>(SE.getSignExtendExpr(M, WideTy)); in isMulSExtable()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVTargetTransformInfo.cpp | 1594 VectorType *WideTy = in getVectorInstrCost() local 1599 = getCastInstrCost(Instruction::ZExt, WideTy, Val, in getVectorInstrCost() 1602 = getVectorInstrCost(Opcode, WideTy, CostKind, Index, nullptr, nullptr); in getVectorInstrCost() 1606 = getCastInstrCost(Instruction::ZExt, WideTy, Val, in getVectorInstrCost() 1609 = getVectorInstrCost(Opcode, WideTy, CostKind, Index, nullptr, nullptr); in getVectorInstrCost() 1611 = getCastInstrCost(Instruction::Trunc, Val, WideTy, in getVectorInstrCost()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonISelLowering.cpp | 1058 MVT WideTy = MVT::getVectorVT(MVT::getIntegerVT(2*ElemTy.getSizeInBits()), in LowerSETCC() local 1061 DAG.getSExtOrTrunc(LHS, SDLoc(LHS), WideTy), in LowerSETCC() 1062 DAG.getSExtOrTrunc(RHS, SDLoc(RHS), WideTy), CC); in LowerSETCC() 1116 MVT WideTy = MVT::getVectorVT(MVT::getIntegerVT(2*ElemTy.getSizeInBits()), in LowerVSELECT() local 1120 DAG.getSelect(dl, WideTy, PredOp, in LowerVSELECT() 1121 DAG.getSExtOrTrunc(Op1, dl, WideTy), in LowerVSELECT() 1122 DAG.getSExtOrTrunc(Op2, dl, WideTy)), in LowerVSELECT()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | ScalarEvolution.cpp | 1373 Type *WideTy = IntegerType::get(SE->getContext(), BitWidth * 2); in getPreStartForExtend() local 1375 SE->getAddExpr((SE->*GetExtendExpr)(PreStart, WideTy, Depth), in getPreStartForExtend() 1376 (SE->*GetExtendExpr)(Step, WideTy, Depth)); in getPreStartForExtend() 1377 if ((SE->*GetExtendExpr)(Start, WideTy, Depth) == OperandExtendedStart) { in getPreStartForExtend() 1653 Type *WideTy = IntegerType::get(getContext(), BitWidth * 2); in getZeroExtendExprImpl() local 1660 WideTy, Depth + 1); in getZeroExtendExprImpl() 1661 const SCEV *WideStart = getZeroExtendExpr(Start, WideTy, Depth + 1); in getZeroExtendExprImpl() 1663 getZeroExtendExpr(CastedMaxBECount, WideTy, Depth + 1); in getZeroExtendExprImpl() 1667 getZeroExtendExpr(Step, WideTy, Depth + 1), in getZeroExtendExprImpl() 1684 getSignExtendExpr(Step, WideTy, Depth + 1), in getZeroExtendExprImpl() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPULegalizerInfo.cpp | 3124 LLT WideTy = widenToNextPowerOf2(ValTy); in legalizeLoad() local 3127 if (!WideTy.isVector()) { in legalizeLoad() 3128 WideLoad = B.buildLoadFromOffset(WideTy, PtrReg, *MMO, 0).getReg(0); in legalizeLoad() 3136 WideLoad = B.buildLoadFromOffset(WideTy, PtrReg, *MMO, 0).getReg(0); in legalizeLoad() 3141 WideLoad = B.buildLoadFromOffset(WideTy, PtrReg, *MMO, 0).getReg(0); in legalizeLoad()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64TargetTransformInfo.cpp | 1991 IntegerType *WideTy = IC.Builder.getIntNTy(PatternWidth); in instCombineSVEDupqLane() local 1992 auto *WideScalableTy = ScalableVectorType::get(WideTy, PatternElementCount); in instCombineSVEDupqLane()
|
H A D | AArch64ISelDAGToDAG.cpp | 2264 MVT WideTy = MVT::getVectorVT(EltTy, 2 * NarrowSize); in operator ()() local 2268 SDValue(DAG.getMachineNode(TargetOpcode::IMPLICIT_DEF, DL, WideTy), 0); in operator ()() 2269 return DAG.getTargetInsertSubreg(AArch64::dsub, DL, WideTy, Undef, V64Reg); in operator ()()
|
H A D | AArch64ISelLowering.cpp | 11936 MVT WideTy = MVT::getVectorVT(EltTy, 2 * NarrowSize); in WidenVector() local 11939 return DAG.getNode(ISD::INSERT_SUBVECTOR, DL, WideTy, DAG.getUNDEF(WideTy), in WidenVector() 14499 EVT WideTy = WideVec.getValueType(); in LowerEXTRACT_VECTOR_ELT() local 14501 EVT ExtrTy = WideTy.getVectorElementType(); in LowerEXTRACT_VECTOR_ELT()
|