| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
| H A D | ValueTypes.h | 34 struct EVT { struct 40 constexpr EVT() = default; argument 41 constexpr EVT(MVT::SimpleValueType SVT) : V(SVT) {} in EVT() argument 42 constexpr EVT(MVT S) : V(S) {} in EVT() argument 44 bool operator==(EVT VT) const { 47 bool operator!=(EVT VT) const { 58 static EVT getFloatingPointVT(unsigned BitWidth) { in getFloatingPointVT() argument 64 static EVT getIntegerVT(LLVMContext &Context, unsigned BitWidth) { in getIntegerVT() argument 73 static EVT getVectorVT(LLVMContext &Context, EVT VT, unsigned NumElements, 83 static EVT getVectorVT(LLVMContext &Context, EVT VT, ElementCount EC) { in getVectorVT() argument [all …]
|
| H A D | RuntimeLibcallUtil.h | 26 Libcall getFPLibCall(EVT VT, Libcall Call_F32, Libcall Call_F64, 31 Libcall getFPEXT(EVT OpVT, EVT RetVT); 35 Libcall getFPROUND(EVT OpVT, EVT RetVT); 39 Libcall getFPTOSINT(EVT OpVT, EVT RetVT); 43 Libcall getFPTOUINT(EVT OpVT, EVT RetVT); 47 Libcall getSINTTOFP(EVT OpVT, EVT RetVT); 51 Libcall getUINTTOFP(EVT OpVT, EVT RetVT); 55 Libcall getPOWI(EVT RetVT); 59 Libcall getLDEXP(EVT RetVT); 63 Libcall getFREXP(EVT RetVT);
|
| H A D | SelectionDAG.h | 107 const EVT *VTs; 114 SDVTListNode(const FoldingSetNodeIDRef ID, const EVT *VT, unsigned int Num) : 430 SDVTList VTs, EVT MemoryVT, 653 SDVTList getVTList(EVT VT); 654 SDVTList getVTList(EVT VT1, EVT VT2); 655 SDVTList getVTList(EVT VT1, EVT VT2, EVT VT3); 656 SDVTList getVTList(EVT VT1, EVT VT2, EVT VT3, EVT VT4); 657 SDVTList getVTList(ArrayRef<EVT> VTs); 668 SDValue getConstant(uint64_t Val, const SDLoc &DL, EVT VT, 670 SDValue getConstant(const APInt &Val, const SDLoc &DL, EVT VT, [all …]
|
| H A D | TargetLowering.h | 231 using LegalizeKind = std::pair<LegalizeTypeAction, EVT>; 401 virtual MVT getScalarShiftAmountTy(const DataLayout &, EVT) const; 407 EVT getShiftAmountTy(EVT LHSTy, const DataLayout &DL) const; 458 virtual bool shouldExpandGetActiveLaneMask(EVT VT, EVT OpVT) const { in shouldExpandGetActiveLaneMask() 462 virtual bool shouldExpandGetVectorLength(EVT CountVT, unsigned VF, in shouldExpandGetVectorLength() 469 virtual bool shouldExpandCttzElements(EVT VT) const { return true; } in shouldExpandCttzElements() 479 virtual bool shouldReassociateReduction(unsigned RedOpc, EVT VT) const { in shouldReassociateReduction() 487 virtual bool reduceSelectOfFPConstantLoads(EVT CmpOpVT) const { in reduceSelectOfFPConstantLoads() 534 shouldExpandBuildVectorWithShuffles(EVT /* VT */, in shouldExpandBuildVectorWithShuffles() argument 543 virtual bool isIntDivCheap(EVT VT, AttributeList Attr) const { return false; } in isIntDivCheap() [all …]
|
| H A D | Analysis.h | 30 struct EVT; 66 SmallVectorImpl<EVT> &ValueVTs, 67 SmallVectorImpl<EVT> *MemVTs, 71 SmallVectorImpl<EVT> &ValueVTs, 72 SmallVectorImpl<EVT> *MemVTs, 78 Type *Ty, SmallVectorImpl<EVT> &ValueVTs, 84 Type *Ty, SmallVectorImpl<EVT> &ValueVTs, in ComputeValueVTs()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | ValueTypes.cpp | 19 EVT EVT::changeExtendedTypeToInteger() const { in changeExtendedTypeToInteger() 25 EVT EVT::changeExtendedVectorElementTypeToInteger() const { in changeExtendedVectorElementTypeToInteger() 28 EVT IntTy = getIntegerVT(Context, getScalarSizeInBits()); in changeExtendedVectorElementTypeToInteger() 32 EVT EVT::changeExtendedVectorElementType(EVT EltVT) const { in changeExtendedVectorElementType() 38 EVT EVT::getExtendedIntegerVT(LLVMContext &Context, unsigned BitWidth) { in getExtendedIntegerVT() 39 EVT VT; in getExtendedIntegerVT() 45 EVT EVT::getExtendedVectorVT(LLVMContext &Context, EVT VT, unsigned NumElements, in getExtendedVectorVT() 47 EVT ResultVT; in getExtendedVectorVT() 54 EVT EVT::getExtendedVectorVT(LLVMContext &Context, EVT VT, ElementCount EC) { in getExtendedVectorVT() 55 EVT ResultVT; in getExtendedVectorVT() [all …]
|
| H A D | TargetLoweringBase.cpp | 103 RTLIB::Libcall RTLIB::getFPLibCall(EVT VT, in getFPLibCall() 120 RTLIB::Libcall RTLIB::getFPEXT(EVT OpVT, EVT RetVT) { in getFPEXT() 155 RTLIB::Libcall RTLIB::getFPROUND(EVT OpVT, EVT RetVT) { in getFPROUND() 198 RTLIB::Libcall RTLIB::getFPTOSINT(EVT OpVT, EVT RetVT) { in getFPTOSINT() 247 RTLIB::Libcall RTLIB::getFPTOUINT(EVT OpVT, EVT RetVT) { in getFPTOUINT() 296 RTLIB::Libcall RTLIB::getSINTTOFP(EVT OpVT, EVT RetVT) { in getSINTTOFP() 342 RTLIB::Libcall RTLIB::getUINTTOFP(EVT OpVT, EVT RetVT) { in getUINTTOFP() 386 RTLIB::Libcall RTLIB::getPOWI(EVT RetVT) { in getPOWI() 391 RTLIB::Libcall RTLIB::getLDEXP(EVT RetVT) { in getLDEXP() 396 RTLIB::Libcall RTLIB::getFREXP(EVT RetVT) { in getFREXP() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/VE/ |
| H A D | VECustomDAG.h | 32 bool isPackedVectorType(EVT SomeVT); 34 bool isMaskType(EVT SomeVT); 40 bool supportsPackedMode(unsigned Opcode, EVT IdiomVT); 95 std::optional<EVT> getIdiomaticVectorType(SDNode *Op); 128 Packing getTypePacking(EVT); 164 SDValue getNode(unsigned OC, ArrayRef<EVT> ResVT, ArrayRef<SDValue> OpV, 172 SDValue getNode(unsigned OC, EVT ResVT, ArrayRef<SDValue> OpV, 180 SDValue getUNDEF(EVT VT) const { return DAG.getUNDEF(VT); } in getUNDEF() 184 SDValue getLegalReductionOpVVP(unsigned VVPOpcode, EVT ResVT, SDValue StartV, 190 SDValue getUnpack(EVT DestVT, SDValue Vec, PackElem Part, SDValue AVL) const; [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86ISelLowering.h | 989 MVT getScalarShiftAmountTy(const DataLayout &, EVT VT) const override { in getScalarShiftAmountTy() 1012 EVT getOptimalMemOpType(const MemOp &Op, 1023 bool isMemoryAccessFast(EVT VT, Align Alignment) const; 1027 bool allowsMisalignedMemoryAccesses(EVT VT, unsigned AS, Align Alignment, 1036 LLVMContext &Context, const DataLayout &DL, EVT VT, unsigned AddrSpace, 1041 bool allowsMemoryAccess(LLVMContext &Context, const DataLayout &DL, EVT VT, in allowsMemoryAccess() 1060 bool preferABDSToABSWithNSW(EVT VT) const override; 1062 bool preferSextInRegOfTruncate(EVT TruncVT, EVT VT, 1063 EVT ExtVT) const override; 1066 EVT VT) const override; [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUISelLowering.h | 103 bool shouldCombineMemoryType(EVT VT) const; 136 static EVT getEquivalentMemType(LLVMContext &Context, EVT VT); 150 std::pair<EVT, EVT> getSplitDestVTs(const EVT &VT, SelectionDAG &DAG) const; 155 const EVT &LoVT, const EVT &HighVT, 191 bool isFAbsFree(EVT VT) const override; 192 bool isFNegFree(EVT VT) const override; 193 bool isTruncateFree(EVT Src, EVT Dest) const override; 197 bool isZExtFree(EVT Src, EVT Dest) const override; 204 bool isNarrowingProfitable(EVT SrcVT, EVT DestVT) const override; 209 EVT getTypeForExtReturn(LLVMContext &Context, EVT VT, [all …]
|
| H A D | SIISelLowering.h | 38 EVT VT) const override; 41 EVT VT) const override; 44 LLVMContext &Context, CallingConv::ID CC, EVT VT, EVT &IntermediateVT, 52 SDValue lowerKernargMemParameter(SelectionDAG &DAG, EVT VT, EVT MemVT, 66 EVT VT, 75 SDValue lowerSBuffer(EVT VT, SDLoc DL, SDValue Rsrc, SDValue Offset, 129 ArrayRef<SDValue> Ops, EVT MemVT, 140 EVT VT) const; 143 SelectionDAG &DAG, EVT VT, EVT MemVT, const SDLoc &SL, SDValue Val, 179 EVT MemVT, [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | LegalizeVectorTypes.cpp | 251 EVT VT = LHS.getValueType().getVectorElementType(); in ScalarizeVecRes_CMP() 283 EVT VT0 = N->getValueType(0); in ScalarizeVecRes_FFREXP() 284 EVT VT1 = N->getValueType(1); in ScalarizeVecRes_FFREXP() 294 EVT OtherVT = N->getValueType(OtherNo); in ScalarizeVecRes_FFREXP() 307 EVT VT = N->getValueType(0).getVectorElementType(); in ScalarizeVecRes_StrictFPOp() 310 EVT ValueVTs[] = {VT, MVT::Other}; in ScalarizeVecRes_StrictFPOp() 321 EVT OperVT = Oper.getValueType(); in ScalarizeVecRes_StrictFPOp() 347 EVT ResVT = N->getValueType(0); in ScalarizeVecRes_OverflowOp() 348 EVT OvVT = N->getValueType(1); in ScalarizeVecRes_OverflowOp() 370 EVT OtherV in ScalarizeVecRes_OverflowOp() [all...] |
| H A D | LegalizeTypesGeneric.cpp | 41 EVT OutVT = N->getValueType(0); in ExpandRes_BITCAST() 42 EVT NOutVT = TLI.getTypeToTransformTo(*DAG.getContext(), OutVT); in ExpandRes_BITCAST() 44 EVT InVT = InOp.getValueType(); in ExpandRes_BITCAST() 91 EVT LoVT, HiVT; in ExpandRes_BITCAST() 106 EVT ElemVT = NOutVT; in ExpandRes_BITCAST() 107 EVT NVT = EVT::getVectorVT(*DAG.getContext(), ElemVT, NumElems); in ExpandRes_BITCAST() 116 ElemVT = EVT::getIntegerVT(*DAG.getContext(), NewSizeInBits); in ExpandRes_BITCAST() 117 NVT = EVT::getVectorVT(*DAG.getContext(), ElemVT, NumElems); in ExpandRes_BITCAST() 141 EVT in ExpandRes_BITCAST() [all...] |
| H A D | LegalizeFloatTypes.cpp | 32 static RTLIB::Libcall GetFPLibCall(EVT VT, in GetFPLibCall() 182 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0)); in SoftenFloatRes_Unary() 189 EVT OpVT = N->getOperand(0 + Offset).getValueType(); in SoftenFloatRes_Unary() 201 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0)); in SoftenFloatRes_Binary() 209 EVT OpsVT[2] = { N->getOperand(0 + Offset).getValueType(), in SoftenFloatRes_Binary() 225 EVT Ty = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0)); in SoftenFloatRes_FREEZE() 231 EVT Ty = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0)); in SoftenFloatRes_ARITH_FENCE() 293 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0)); in SoftenFloatRes_FABS() 376 EVT LVT = LHS.getValueType(); in SoftenFloatRes_FCOPYSIGN() 377 EVT RVT = RHS.getValueType(); in SoftenFloatRes_FCOPYSIGN() [all …]
|
| H A D | LegalizeIntegerTypes.cpp | 368 EVT ResVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(0)); in PromoteIntRes_Atomic0() 415 EVT SVT = getSetCCResultType(N->getOperand(2).getValueType()); in PromoteIntRes_AtomicCmpSwap() 416 EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), N->getValueType(1)); in PromoteIntRes_AtomicCmpSwap() 464 EVT InVT = InOp.getValueType(); in PromoteIntRes_BITCAST() 465 EVT NInVT = TLI.getTypeToTransformTo(*DAG.getContext(), InVT); in PromoteIntRes_BITCAST() 466 EVT OutVT = N->getValueType(0); in PromoteIntRes_BITCAST() 467 EVT NOutVT = TLI.getTypeToTransformTo(*DAG.getContext(), OutVT); in PromoteIntRes_BITCAST() 514 EVT::getIntegerVT(*DAG.getContext(), in PromoteIntRes_BITCAST() 547 EVT WideOutVT = in PromoteIntRes_BITCAST() 548 EVT::getVectorVT(*DAG.getContext(), OutVT.getVectorElementType(), in PromoteIntRes_BITCAST() [all …]
|
| H A D | MatchContext.h | 41 bool isOperationLegal(unsigned Op, EVT VT) const { in isOperationLegal() 45 bool isOperationLegalOrCustom(unsigned Op, EVT VT, 111 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue Operand) { in getNode() 119 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1, in getNode() 127 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1, in getNode() 136 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue Operand, in getNode() 145 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1, in getNode() 154 SDValue getNode(unsigned Opcode, const SDLoc &DL, EVT VT, SDValue N1, in getNode() 163 bool isOperationLegal(unsigned Op, EVT VT) const { in isOperationLegal() 168 bool isOperationLegalOrCustom(unsigned Op, EVT VT,
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64ISelLowering.h | 599 MVT getScalarShiftAmountTy(const DataLayout &DL, EVT) const override; 604 EVT VT, unsigned AddrSpace = 0, Align Alignment = Align(1), 627 bool isFPImmLegal(const APFloat &Imm, EVT VT, 632 bool isShuffleMaskLegal(ArrayRef<int> M, EVT VT) const override; 636 bool isVectorClearMaskLegal(ArrayRef<int> M, EVT VT) const override; 639 EVT getSetCCResultType(const DataLayout &DL, LLVMContext &Context, 640 EVT VT) const override; 676 EVT NewVT) const override; 681 bool isTruncateFree(EVT VT1, EVT VT2) const override; 686 bool isZExtFree(EVT VT1, EVT VT2) const override; [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/ |
| H A D | CSKYISelLowering.h | 51 EVT getSetCCResultType(const DataLayout &DL, LLVMContext &Context, 52 EVT VT) const override; 101 SDValue getTargetNode(GlobalAddressSDNode *N, SDLoc DL, EVT Ty, 104 SDValue getTargetNode(ExternalSymbolSDNode *N, SDLoc DL, EVT Ty, 107 SDValue getTargetNode(JumpTableSDNode *N, SDLoc DL, EVT Ty, SelectionDAG &DAG, 110 SDValue getTargetNode(BlockAddressSDNode *N, SDLoc DL, EVT Ty, 113 SDValue getTargetNode(ConstantPoolSDNode *N, SDLoc DL, EVT Ty, 116 SDValue getTargetConstantPoolValue(GlobalAddressSDNode *N, EVT Ty, 119 SDValue getTargetConstantPoolValue(ExternalSymbolSDNode *N, EVT Ty, 122 SDValue getTargetConstantPoolValue(JumpTableSDNode *N, EVT T [all...] |
| /freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVISelLowering.h | 499 bool isTruncateFree(EVT SrcVT, EVT DstVT) const override; 500 bool isTruncateFree(SDValue Val, EVT VT2) const override; 501 bool isZExtFree(SDValue Val, EVT VT2) const override; 502 bool isSExtCheaperThanZExt(EVT SrcVT, EVT DstVT) const override; 523 std::pair<int, bool> getLegalZfaFPImm(const APFloat &Imm, EVT VT) const; 524 bool isFPImmLegal(const APFloat &Imm, EVT VT, 526 bool isExtractSubvectorCheap(EVT ResVT, EVT SrcVT, 529 bool isIntDivCheap(EVT VT, AttributeList Attr) const override; 538 EVT VT) const override; 544 EVT VT) const override; [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/BPF/ |
| H A D | BPFISelLowering.h | 64 EVT getSetCCResultType(const DataLayout &DL, LLVMContext &Context, 65 EVT VT) const override; 67 MVT getScalarShiftAmountTy(const DataLayout &, EVT) const override; 116 EVT getOptimalMemOpType(const MemOp &Op, in getOptimalMemOpType() 121 bool isIntDivCheap(EVT VT, AttributeList Attr) const override { return true; } in isIntDivCheap() 137 EVT NewVT) const override { in shouldReduceLoadWidth() 149 bool isTruncateFree(EVT VT1, EVT VT2) const override; 153 bool isZExtFree(EVT VT1, EVT VT2) const override; 154 bool isZExtFree(SDValue Val, EVT VT2) const override;
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
| H A D | SystemZISelLowering.h | 416 MVT getScalarShiftAmountTy(const DataLayout &, EVT) const override { in getScalarShiftAmountTy() argument 442 getNumRegisters(LLVMContext &Context, EVT VT, in getNumRegisters() 450 EVT VT) const override { in getRegisterTypeForCallingConv() 465 bool convertSetCCLogicToBitwiseLogic(EVT VT) const override { in convertSetCCLogicToBitwiseLogic() 468 EVT getSetCCResultType(const DataLayout &DL, LLVMContext &, 469 EVT) const override; 471 EVT VT) const override; 472 bool isFPImmLegal(const APFloat &Imm, EVT VT, 474 bool ShouldShrinkFPConstant(EVT VT) const override { in ShouldShrinkFPConstant() 489 bool allowsMisalignedMemoryAccesses(EVT VT, unsigned AS, Align Alignment, [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Mips/ |
| H A D | MipsISelLowering.h | 281 MVT getScalarShiftAmountTy(const DataLayout &, EVT) const override { in getScalarShiftAmountTy() argument 285 EVT getTypeForExtReturn(LLVMContext &Context, EVT VT, 297 EVT VT) const override; 303 EVT VT) const override; 307 LLVMContext &Context, CallingConv::ID CC, EVT VT, EVT &IntermediateVT, 337 EVT getSetCCResultType(const DataLayout &DL, LLVMContext &Context, 338 EVT VT) const override; 377 SDValue getGlobalReg(SelectionDAG &DAG, EVT Ty) const; 384 SDValue getAddrLocal(NodeTy *N, const SDLoc &DL, EVT Ty, SelectionDAG &DAG, in getAddrLocal() 403 SDValue getAddrGlobal(NodeTy *N, const SDLoc &DL, EVT Ty, SelectionDAG &DAG, in getAddrGlobal() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMISelLowering.h | 422 EVT getSetCCResultType(const DataLayout &DL, LLVMContext &Context, 423 EVT VT) const override; 447 bool isDesirableToTransformToIntegerOp(unsigned Opc, EVT VT) const override; 452 bool allowsMisalignedMemoryAccesses(EVT VT, unsigned AddrSpace, 457 EVT getOptimalMemOpType(const MemOp &Op, 461 bool isTruncateFree(EVT SrcVT, EVT DstVT) const override; 462 bool isZExtFree(SDValue Val, EVT VT2) const override; 467 bool isFNegFree(EVT VT) const override; 480 bool isLegalT2ScaledAddressingMode(const AddrMode &AM, EVT VT) const; 484 bool isLegalT1ScaledAddressingMode(const AddrMode &AM, EVT VT) const; [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/ |
| H A D | LoongArchISelLowering.h | 196 EVT getSetCCResultType(const DataLayout &DL, LLVMContext &Context, 197 EVT VT) const override; 211 EVT VT) const override; 229 bool decomposeMulByConstant(LLVMContext &Context, EVT VT, 240 bool isZExtFree(SDValue Val, EVT VT2) const override; 241 bool isSExtCheaperThanZExt(EVT SrcVT, EVT DstVT) const override; 246 bool convertSelectOfConstantsToMath(EVT VT) const override { return true; } in convertSelectOfConstantsToMath() 249 EVT VT, unsigned AddrSpace = 0, Align Alignment = Align(1), 253 bool isShuffleMaskLegal(ArrayRef<int> Mask, EVT VT) const override { in isShuffleMaskLegal() 257 bool shouldSignExtendTypeInLibCall(EVT Type, bool IsSigned) const override; [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/ |
| H A D | SPIRVISelLowering.h | 37 EVT) const override { in isFMAFasterThanFMulAndFAdd() argument 51 EVT VT) const override; 53 EVT VT) const override; 62 getNumRegisters(LLVMContext &Context, EVT VT, 73 EVT ConditionVT) const override { in getPreferredSwitchConditionType()
|