|
LLVM
3.7.0
|
#include <X86TargetTransformInfo.h>
Additional Inherited Members | |
Protected Types inherited from llvm::TargetTransformInfoImplBase | |
| typedef TargetTransformInfo | TTI |
Protected Member Functions inherited from llvm::BasicTTIImplBase< X86TTIImpl > | |
| BasicTTIImplBase (const TargetMachine *TM, const DataLayout &DL) | |
Protected Member Functions inherited from llvm::TargetTransformInfoImplCRTPBase< X86TTIImpl > | |
| TargetTransformInfoImplCRTPBase (const DataLayout &DL) | |
Protected Member Functions inherited from llvm::TargetTransformInfoImplBase | |
| TargetTransformInfoImplBase (const DataLayout &DL) | |
Protected Attributes inherited from llvm::TargetTransformInfoImplBase | |
| const DataLayout & | DL |
Definition at line 28 of file X86TargetTransformInfo.h.
|
inlineexplicit |
Definition at line 42 of file X86TargetTransformInfo.h.
|
inline |
Definition at line 47 of file X86TargetTransformInfo.h.
|
inline |
Definition at line 49 of file X86TargetTransformInfo.h.
Definition at line 877 of file X86TargetTransformInfo.cpp.
References llvm::BasicTTIImplBase< X86TTIImpl >::getAddressComputationCost(), and llvm::Type::isVectorTy().
| unsigned X86TTIImpl::getArithmeticInstrCost | ( | unsigned | Opcode, |
| Type * | Ty, | ||
| TTI::OperandValueKind | Opd1Info = TTI::OK_AnyValue, |
||
| TTI::OperandValueKind | Opd2Info = TTI::OK_AnyValue, |
||
| TTI::OperandValueProperties | Opd1PropInfo = TTI::OP_None, |
||
| TTI::OperandValueProperties | Opd2PropInfo = TTI::OP_None |
||
| ) |
Definition at line 87 of file X86TargetTransformInfo.cpp.
References llvm::ISD::ADD, llvm::CostTblEntry< TypeTy >::Cost, llvm::CostTableLookup(), llvm::TargetTransformInfoImplBase::DL, llvm::BasicTTIImplBase< X86TTIImpl >::getArithmeticInstrCost(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::X86Subtarget::hasAVX(), llvm::X86Subtarget::hasAVX2(), llvm::X86Subtarget::hasAVX512(), llvm::X86Subtarget::hasSSE2(), llvm::X86Subtarget::hasSSE41(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::AArch64CC::LT, llvm::ISD::MUL, llvm::TargetTransformInfo::OK_NonUniformConstantValue, llvm::TargetTransformInfo::OK_UniformConstantValue, llvm::TargetTransformInfo::OP_None, llvm::TargetTransformInfo::OP_PowerOf2, llvm::ISD::SDIV, llvm::ISD::SHL, llvm::ISD::SRA, llvm::ISD::SRL, llvm::ISD::SUB, llvm::ISD::UDIV, llvm::MVT::v16i16, llvm::MVT::v16i32, llvm::MVT::v16i8, llvm::MVT::v2i64, llvm::MVT::v32i8, llvm::MVT::v4i32, llvm::MVT::v4i64, llvm::MVT::v8i16, llvm::MVT::v8i32, and llvm::MVT::v8i64.
Definition at line 466 of file X86TargetTransformInfo.cpp.
References llvm::ConvertCostTableLookup(), llvm::TypeConversionCostTblEntry< TypeTy >::Cost, llvm::TargetTransformInfoImplBase::DL, llvm::ISD::FP_EXTEND, llvm::ISD::FP_ROUND, llvm::ISD::FP_TO_SINT, llvm::ISD::FP_TO_UINT, llvm::BasicTTIImplBase< X86TTIImpl >::getCastInstrCost(), llvm::EVT::getSimpleVT(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::TargetLoweringBase::getValueType(), llvm::X86Subtarget::hasAVX(), llvm::X86Subtarget::hasAVX2(), llvm::X86Subtarget::hasAVX512(), llvm::X86Subtarget::hasSSE2(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::EVT::isSimple(), llvm::ISD::SIGN_EXTEND, llvm::ISD::SINT_TO_FP, llvm::ISD::TRUNCATE, llvm::ISD::UINT_TO_FP, llvm::MVT::v16f32, llvm::MVT::v16i1, llvm::MVT::v16i16, llvm::MVT::v16i32, llvm::MVT::v16i8, llvm::MVT::v2f64, llvm::MVT::v2i64, llvm::MVT::v4f32, llvm::MVT::v4f64, llvm::MVT::v4i1, llvm::MVT::v4i16, llvm::MVT::v4i32, llvm::MVT::v4i64, llvm::MVT::v4i8, llvm::MVT::v8f32, llvm::MVT::v8f64, llvm::MVT::v8i1, llvm::MVT::v8i16, llvm::MVT::v8i32, llvm::MVT::v8i64, llvm::MVT::v8i8, and llvm::ISD::ZERO_EXTEND.
Definition at line 670 of file X86TargetTransformInfo.cpp.
References llvm::CostTblEntry< TypeTy >::Cost, llvm::CostTableLookup(), llvm::TargetTransformInfoImplBase::DL, llvm::BasicTTIImplBase< X86TTIImpl >::getCmpSelInstrCost(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::X86Subtarget::hasAVX(), llvm::X86Subtarget::hasAVX2(), llvm::X86Subtarget::hasAVX512(), llvm::X86Subtarget::hasSSE42(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::AArch64CC::LT, llvm::ISD::SETCC, llvm::MVT::v16f32, llvm::MVT::v16i16, llvm::MVT::v16i32, llvm::MVT::v16i8, llvm::MVT::v2f64, llvm::MVT::v2i64, llvm::MVT::v32i8, llvm::MVT::v4f32, llvm::MVT::v4f64, llvm::MVT::v4i32, llvm::MVT::v4i64, llvm::MVT::v8f32, llvm::MVT::v8f64, llvm::MVT::v8i16, llvm::MVT::v8i32, and llvm::MVT::v8i64.
Referenced by getMaskedMemoryOpCost().
| unsigned X86TTIImpl::getIntImmCost | ( | int64_t | Val | ) |
Calculate the cost of materializing a 64-bit value.
This helper method might only calculate a fraction of a larger immediate. Therefore it is valid to return a cost of ZERO.
Definition at line 973 of file X86TargetTransformInfo.cpp.
References llvm::isInt< 32 >(), llvm::TargetTransformInfo::TCC_Basic, and llvm::TargetTransformInfo::TCC_Free.
Referenced by getIntImmCost().
Definition at line 983 of file X86TargetTransformInfo.cpp.
References llvm::APInt::ashr(), getIntImmCost(), llvm::Type::getPrimitiveSizeInBits(), llvm::APInt::getSExtValue(), llvm::Type::isIntegerTy(), llvm::APInt::sext(), llvm::APInt::sextOrTrunc(), and llvm::TargetTransformInfo::TCC_Free.
Definition at line 1017 of file X86TargetTransformInfo.cpp.
References llvm::APIntOps::And(), llvm::Call, getIntImmCost(), llvm::Type::getPrimitiveSizeInBits(), llvm::Type::isIntegerTy(), llvm::SPII::Load, llvm::APIntOps::Or(), llvm::TargetOpcode::PHI, llvm::MipsISD::Ret, llvm::MCID::Select, llvm::SPII::Store, llvm::TargetTransformInfo::TCC_Basic, llvm::TargetTransformInfo::TCC_Free, and llvm::APIntOps::Xor().
| unsigned X86TTIImpl::getIntImmCost | ( | Intrinsic::ID | IID, |
| unsigned | Idx, | ||
| const APInt & | Imm, | ||
| Type * | Ty | ||
| ) |
Definition at line 1086 of file X86TargetTransformInfo.cpp.
References llvm::APInt::getBitWidth(), getIntImmCost(), llvm::Type::getPrimitiveSizeInBits(), llvm::APInt::getSExtValue(), llvm::isInt< 32 >(), llvm::Type::isIntegerTy(), and llvm::TargetTransformInfo::TCC_Free.
| unsigned X86TTIImpl::getMaskedMemoryOpCost | ( | unsigned | Opcode, |
| Type * | Src, | ||
| unsigned | Alignment, | ||
| unsigned | AddressSpace | ||
| ) |
Definition at line 824 of file X86TargetTransformInfo.cpp.
References llvm::TargetTransformInfoImplBase::DL, llvm::dyn_cast(), llvm::VectorType::get(), llvm::BasicTTIImplBase< X86TTIImpl >::getCFInstrCost(), getCmpSelInstrCost(), llvm::getGlobalContext(), llvm::Type::getInt8Ty(), getMemoryOpCost(), llvm::BasicTTIImplBase< X86TTIImpl >::getMemoryOpCost(), llvm::Type::getScalarType(), getShuffleCost(), llvm::EVT::getSimpleVT(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::TargetLoweringBase::getValueType(), llvm::Type::getVectorElementType(), llvm::MVT::getVectorNumElements(), llvm::Type::getVectorNumElements(), llvm::X86Subtarget::hasAVX512(), isLegalMaskedLoad(), isLegalMaskedStore(), llvm::isPowerOf2_32(), llvm::SPII::Load, llvm::AArch64CC::LT, llvm::TargetTransformInfo::SK_Alternate, llvm::TargetTransformInfo::SK_InsertSubvector, and llvm::SPII::Store.
Definition at line 69 of file X86TargetTransformInfo.cpp.
References llvm::X86Subtarget::hasAVX(), and llvm::X86Subtarget::isAtom().
| unsigned X86TTIImpl::getMemoryOpCost | ( | unsigned | Opcode, |
| Type * | Src, | ||
| unsigned | Alignment, | ||
| unsigned | AddressSpace | ||
| ) |
Definition at line 779 of file X86TargetTransformInfo.cpp.
References llvm::TargetTransformInfoImplBase::DL, llvm::BasicTTIImplBase< X86TTIImpl >::getMemoryOpCost(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::X86Subtarget::hasAVX2(), llvm::isPowerOf2_32(), llvm::SPII::Load, llvm::AArch64CC::LT, and llvm::SPII::Store.
Referenced by getMaskedMemoryOpCost().
Definition at line 43 of file X86TargetTransformInfo.cpp.
References llvm::X86Subtarget::hasAVX512(), llvm::X86Subtarget::hasSSE1(), and llvm::X86Subtarget::is64Bit().
| TargetTransformInfo::PopcntSupportKind X86TTIImpl::getPopcntSupport | ( | unsigned | TyWidth | ) |
Definition at line 35 of file X86TargetTransformInfo.cpp.
References llvm::X86Subtarget::hasPOPCNT(), llvm::isPowerOf2_32(), llvm::TargetTransformInfo::PSK_FastHardware, and llvm::TargetTransformInfo::PSK_Software.
Definition at line 890 of file X86TargetTransformInfo.cpp.
References llvm::ISD::ADD, llvm::CostTblEntry< TypeTy >::Cost, llvm::CostTableLookup(), llvm::TargetTransformInfoImplBase::DL, llvm::ISD::FADD, llvm::BasicTTIImplBase< X86TTIImpl >::getReductionCost(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::X86Subtarget::hasAVX(), llvm::X86Subtarget::hasSSE42(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::AArch64CC::LT, llvm::MVT::v2f64, llvm::MVT::v2i64, llvm::MVT::v4f32, llvm::MVT::v4f64, llvm::MVT::v4i32, llvm::MVT::v4i64, llvm::MVT::v8f32, llvm::MVT::v8i16, and llvm::MVT::v8i32.
Definition at line 55 of file X86TargetTransformInfo.cpp.
References llvm::X86Subtarget::hasAVX(), llvm::X86Subtarget::hasAVX512(), llvm::X86Subtarget::hasSSE1(), and llvm::X86Subtarget::is64Bit().
| unsigned X86TTIImpl::getShuffleCost | ( | TTI::ShuffleKind | Kind, |
| Type * | Tp, | ||
| int | Index, | ||
| Type * | SubTp | ||
| ) |
Definition at line 351 of file X86TargetTransformInfo.cpp.
References llvm::TargetTransformInfoImplBase::DL, llvm::BasicTTIImplBase< X86TTIImpl >::getShuffleCost(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::X86Subtarget::hasAVX2(), llvm::AArch64CC::LT, llvm::TargetTransformInfo::SK_Alternate, llvm::TargetTransformInfo::SK_Reverse, llvm::MVT::v16i16, llvm::MVT::v32i8, llvm::MVT::v4f64, llvm::MVT::v4i64, llvm::MVT::v8f32, llvm::MVT::v8i32, and llvm::ISD::VECTOR_SHUFFLE.
Referenced by getMaskedMemoryOpCost().
Definition at line 740 of file X86TargetTransformInfo.cpp.
References llvm::TargetTransformInfoImplBase::DL, llvm::Type::getScalarType(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::BasicTTIImplBase< X86TTIImpl >::getVectorInstrCost(), llvm::Type::isFloatingPointTy(), llvm::Type::isVectorTy(), and llvm::AArch64CC::LT.
| bool X86TTIImpl::hasCompatibleFunctionAttributes | ( | const Function * | Caller, |
| const Function * | Callee | ||
| ) | const |
Definition at line 1136 of file X86TargetTransformInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), llvm::TargetMachine::getSubtargetImpl(), llvm::TargetLoweringBase::getTargetMachine(), and llvm::SystemZISD::TM.
Definition at line 1121 of file X86TargetTransformInfo.cpp.
References llvm::Type::getPrimitiveSizeInBits(), llvm::X86Subtarget::hasAVX2(), and llvm::X86Subtarget::hasAVX512().
Referenced by getMaskedMemoryOpCost(), and isLegalMaskedStore().
Definition at line 1132 of file X86TargetTransformInfo.cpp.
References isLegalMaskedLoad().
Referenced by getMaskedMemoryOpCost().
1.8.6