|
LLVM
3.7.0
|
#include <ARMTargetTransformInfo.h>
Additional Inherited Members | |
Protected Types inherited from llvm::TargetTransformInfoImplBase | |
| typedef TargetTransformInfo | TTI |
Protected Member Functions inherited from llvm::BasicTTIImplBase< ARMTTIImpl > | |
| BasicTTIImplBase (const TargetMachine *TM, const DataLayout &DL) | |
Protected Member Functions inherited from llvm::TargetTransformInfoImplCRTPBase< ARMTTIImpl > | |
| 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 ARMTargetTransformInfo.h.
|
inlineexplicit |
Definition at line 44 of file ARMTargetTransformInfo.h.
|
inline |
Definition at line 49 of file ARMTargetTransformInfo.h.
|
inline |
Definition at line 51 of file ARMTargetTransformInfo.h.
Definition at line 302 of file ARMTargetTransformInfo.cpp.
References llvm::Type::isVectorTy().
| unsigned ARMTTIImpl::getArithmeticInstrCost | ( | unsigned | Opcode, |
| Type * | Ty, | ||
| TTI::OperandValueKind | Op1Info = TTI::OK_AnyValue, |
||
| TTI::OperandValueKind | Op2Info = TTI::OK_AnyValue, |
||
| TTI::OperandValueProperties | Opd1PropInfo = TTI::OP_None, |
||
| TTI::OperandValueProperties | Opd2PropInfo = TTI::OP_None |
||
| ) |
Definition at line 392 of file ARMTargetTransformInfo.cpp.
References llvm::CostTblEntry< TypeTy >::Cost, llvm::CostTableLookup(), llvm::TargetTransformInfoImplBase::DL, llvm::BasicTTIImplBase< ARMTTIImpl >::getArithmeticInstrCost(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::ARMSubtarget::hasNEON(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::AArch64CC::LT, llvm::TargetTransformInfo::OK_UniformConstantValue, llvm::ISD::SDIV, llvm::ISD::SREM, llvm::ISD::UDIV, llvm::ISD::UREM, llvm::MVT::v16i8, llvm::MVT::v1i64, llvm::MVT::v2i32, llvm::MVT::v2i64, llvm::MVT::v4i16, llvm::MVT::v4i32, llvm::MVT::v8i16, and llvm::MVT::v8i8.
Definition at line 50 of file ARMTargetTransformInfo.cpp.
References llvm::ConvertCostTableLookup(), llvm::CostTblEntry< TypeTy >::Cost, llvm::TypeConversionCostTblEntry< TypeTy >::Cost, llvm::CostTableLookup(), llvm::TargetTransformInfoImplBase::DL, llvm::MVT::f32, llvm::MVT::f64, llvm::ISD::FP_EXTEND, llvm::ISD::FP_ROUND, llvm::ISD::FP_TO_SINT, llvm::ISD::FP_TO_UINT, llvm::BasicTTIImplBase< ARMTTIImpl >::getCastInstrCost(), llvm::EVT::getSimpleVT(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::TargetLoweringBase::getValueType(), llvm::ARMSubtarget::hasNEON(), llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::EVT::isFloatingPoint(), llvm::EVT::isInteger(), llvm::EVT::isSimple(), llvm::EVT::isVector(), llvm::Type::isVectorTy(), llvm::AArch64CC::LT, llvm::ISD::SIGN_EXTEND, llvm::ISD::SINT_TO_FP, llvm::ISD::TRUNCATE, llvm::ISD::UINT_TO_FP, llvm::MVT::v16f32, llvm::MVT::v16i16, llvm::MVT::v16i32, llvm::MVT::v16i8, llvm::MVT::v2f32, llvm::MVT::v2f64, llvm::MVT::v2i16, llvm::MVT::v2i32, llvm::MVT::v2i64, llvm::MVT::v2i8, llvm::MVT::v4f32, llvm::MVT::v4i1, llvm::MVT::v4i16, llvm::MVT::v4i32, llvm::MVT::v4i64, llvm::MVT::v4i8, llvm::MVT::v8f32, llvm::MVT::v8i16, llvm::MVT::v8i32, llvm::MVT::v8i64, llvm::MVT::v8i8, and llvm::ISD::ZERO_EXTEND.
Definition at line 268 of file ARMTargetTransformInfo.cpp.
References llvm::ConvertCostTableLookup(), llvm::TypeConversionCostTblEntry< TypeTy >::Cost, llvm::TargetTransformInfoImplBase::DL, llvm::BasicTTIImplBase< ARMTTIImpl >::getCmpSelInstrCost(), llvm::EVT::getSimpleVT(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::TargetLoweringBase::getValueType(), llvm::ARMSubtarget::hasNEON(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::EVT::isSimple(), llvm::Type::isVectorTy(), llvm::AArch64CC::LT, llvm::ISD::SELECT, llvm::MVT::v16i1, llvm::MVT::v16i16, llvm::MVT::v16i32, llvm::MVT::v16i64, llvm::MVT::v4i1, llvm::MVT::v4i64, llvm::MVT::v8i1, llvm::MVT::v8i32, and llvm::MVT::v8i64.
Definition at line 317 of file ARMTargetTransformInfo.cpp.
References llvm::ARMSubtarget::hasVFP2(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::ARMSubtarget::isFPOnlySP(), llvm::ARMSubtarget::isThumb1Only(), llvm::TargetTransformInfo::TCC_Basic, and llvm::TargetTransformInfo::TCC_Expensive.
| unsigned ARMTTIImpl::getInterleavedMemoryOpCost | ( | unsigned | Opcode, |
| Type * | VecTy, | ||
| unsigned | Factor, | ||
| ArrayRef< unsigned > | Indices, | ||
| unsigned | Alignment, | ||
| unsigned | AddressSpace | ||
| ) |
Definition at line 482 of file ARMTargetTransformInfo.cpp.
References llvm::TargetTransformInfoImplBase::DL, llvm::VectorType::get(), llvm::BasicTTIImplBase< ARMTTIImpl >::getInterleavedMemoryOpCost(), llvm::Type::getScalarType(), llvm::DataLayout::getTypeAllocSize(), llvm::DataLayout::getTypeAllocSizeInBits(), and llvm::Type::getVectorNumElements().
Definition at line 18 of file ARMTargetTransformInfo.cpp.
References llvm::tgtok::Bits, llvm::Type::getPrimitiveSizeInBits(), llvm::APInt::getSExtValue(), llvm::ARM_AM::getSOImmVal(), llvm::ARM_AM::getT2SOImmVal(), llvm::APInt::getZExtValue(), llvm::ARMSubtarget::hasV6T2Ops(), llvm::Type::isIntegerTy(), llvm::ARMSubtarget::isThumb(), llvm::ARMSubtarget::isThumb2(), and llvm::ARM_AM::isThumbImmShiftedVal().
Definition at line 88 of file ARMTargetTransformInfo.h.
References llvm::ARMSubtarget::isCortexA15(), and llvm::ARMSubtarget::isSwift().
| unsigned ARMTTIImpl::getMemoryOpCost | ( | unsigned | Opcode, |
| Type * | Src, | ||
| unsigned | Alignment, | ||
| unsigned | AddressSpace | ||
| ) |
Definition at line 468 of file ARMTargetTransformInfo.cpp.
References llvm::TargetTransformInfoImplBase::DL, llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::Type::getVectorElementType(), llvm::Type::isDoubleTy(), llvm::Type::isVectorTy(), and llvm::AArch64CC::LT.
Definition at line 66 of file ARMTargetTransformInfo.h.
References llvm::ARMSubtarget::hasNEON(), and llvm::ARMSubtarget::isThumb1Only().
Definition at line 78 of file ARMTargetTransformInfo.h.
References llvm::ARMSubtarget::hasNEON().
| unsigned ARMTTIImpl::getShuffleCost | ( | TTI::ShuffleKind | Kind, |
| Type * | Tp, | ||
| int | Index, | ||
| Type * | SubTp | ||
| ) |
Definition at line 336 of file ARMTargetTransformInfo.cpp.
References llvm::CostTblEntry< TypeTy >::Cost, llvm::CostTableLookup(), llvm::TargetTransformInfoImplBase::DL, llvm::BasicTTIImplBase< ARMTTIImpl >::getShuffleCost(), llvm::TargetLoweringBase::getTypeLegalizationCost(), llvm::AArch64CC::LT, llvm::TargetTransformInfo::SK_Alternate, llvm::TargetTransformInfo::SK_Reverse, llvm::MVT::v16i8, llvm::MVT::v2f32, llvm::MVT::v2f64, llvm::MVT::v2i32, llvm::MVT::v2i64, llvm::MVT::v4f32, llvm::MVT::v4i16, llvm::MVT::v4i32, llvm::MVT::v8i16, and llvm::ISD::VECTOR_SHUFFLE.
Definition at line 248 of file ARMTargetTransformInfo.cpp.
References ExtractElement(), llvm::Type::getScalarSizeInBits(), llvm::Type::getVectorElementType(), llvm::BasicTTIImplBase< ARMTTIImpl >::getVectorInstrCost(), llvm::Type::isIntegerTy(), llvm::ARMSubtarget::isSwift(), and llvm::Type::isVectorTy().
1.8.6