LLVM 22.0.0git
|
#include "Target/PowerPC/PPCTargetTransformInfo.h"
Definition at line 27 of file PPCTargetTransformInfo.h.
Enumerator | |
---|---|
GPRRC | |
FPRRC | |
VRRC | |
VSXRC |
Definition at line 93 of file PPCTargetTransformInfo.h.
|
inlineexplicit |
Definition at line 39 of file PPCTargetTransformInfo.h.
References F, and llvm::TargetTransformInfoImplBase::getDataLayout().
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 899 of file PPCTargetTransformInfo.cpp.
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 913 of file PPCTargetTransformInfo.cpp.
References llvm::TargetTransformInfoImplBase::areTypesABICompatible(), and llvm::none_of().
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 932 of file PPCTargetTransformInfo.cpp.
References llvm::HardwareLoopInfo::canAnalyze(), canSaveCmp(), llvm::HardwareLoopInfo::ExitBranch, I, llvm::HardwareLoopInfo::isHardwareLoopCandidate(), and isHardwareLoopProfitable().
Referenced by canSaveCmp().
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 431 of file PPCTargetTransformInfo.cpp.
References llvm::PPC::DIR_A2.
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 447 of file PPCTargetTransformInfo.cpp.
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 440 of file PPCTargetTransformInfo.cpp.
References Options.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 585 of file PPCTargetTransformInfo.cpp.
References assert(), CostKind, llvm::BasicTTIImplBase< PPCTTIImpl >::getArithmeticInstrCost(), llvm::InstructionCost::getMax(), llvm::InstructionCost::isValid(), llvm::TargetTransformInfo::TCK_RecipThroughput, and vectorCostAdjustmentFactor().
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 501 of file PPCTargetTransformInfo.cpp.
References llvm::PPC::DIR_PWR10, llvm::PPC::DIR_PWR11, llvm::PPC::DIR_PWR7, llvm::PPC::DIR_PWR8, llvm::PPC::DIR_PWR9, and llvm::PPC::DIR_PWR_FUTURE.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 639 of file PPCTargetTransformInfo.cpp.
References assert(), CostKind, llvm::BasicTTIImplBase< PPCTTIImpl >::getCastInstrCost(), llvm::InstructionCost::getMax(), I, llvm::InstructionCost::isValid(), llvm::TargetTransformInfo::TCK_RecipThroughput, and vectorCostAdjustmentFactor().
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 630 of file PPCTargetTransformInfo.cpp.
References CostKind, I, and llvm::TargetTransformInfo::TCK_RecipThroughput.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 659 of file PPCTargetTransformInfo.cpp.
References CostKind, llvm::BasicTTIImplBase< PPCTTIImpl >::getCmpSelInstrCost(), llvm::InstructionCost::getMax(), I, llvm::InstructionCost::isValid(), llvm::TargetTransformInfo::TCK_RecipThroughput, and vectorCostAdjustmentFactor().
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 323 of file PPCTargetTransformInfo.cpp.
References CostKind, llvm::TargetTransformInfoImplBase::getInstructionCost(), llvm::BasicTTIImplBase< PPCTTIImpl >::getTypeLegalizationCost(), llvm::isa(), and Operands.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 859 of file PPCTargetTransformInfo.cpp.
References assert(), CostKind, llvm::BasicTTIImplBase< PPCTTIImpl >::getInterleavedMemoryOpCost(), llvm::InstructionCost::getMax(), getMemoryOpCost(), llvm::BasicTTIImplBase< PPCTTIImpl >::getTypeLegalizationCost(), llvm::isa(), llvm::InstructionCost::isValid(), and vectorCostAdjustmentFactor().
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 163 of file PPCTargetTransformInfo.cpp.
References assert(), CostKind, DisablePPCConstHoist, llvm::TargetTransformInfoImplBase::getIntImmCost(), llvm::isInt(), llvm::TargetTransformInfo::TCC_Basic, and llvm::TargetTransformInfo::TCC_Free.
Referenced by getIntImmCostInst(), and getIntImmCostIntrin().
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 229 of file PPCTargetTransformInfo.cpp.
References assert(), CostKind, DisablePPCConstHoist, getIntImmCost(), llvm::TargetTransformInfoImplBase::getIntImmCostInst(), llvm::isInt(), llvm::isShiftedMask_32(), llvm::isShiftedMask_64(), llvm::isUInt(), llvm::TargetTransformInfo::TCC_Basic, and llvm::TargetTransformInfo::TCC_Free.
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 194 of file PPCTargetTransformInfo.cpp.
References assert(), CostKind, DisablePPCConstHoist, getIntImmCost(), llvm::TargetTransformInfoImplBase::getIntImmCostIntrin(), llvm::isInt(), and llvm::TargetTransformInfo::TCC_Free.
|
overridevirtual |
Get intrinsic cost based on arguments.
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 894 of file PPCTargetTransformInfo.cpp.
References CostKind, and llvm::BasicTTIImplBase< PPCTTIImpl >::getIntrinsicInstrCost().
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 518 of file PPCTargetTransformInfo.cpp.
References llvm::PPC::DIR_440, llvm::PPC::DIR_A2, llvm::PPC::DIR_E500mc, llvm::PPC::DIR_E5500, llvm::PPC::DIR_PWR10, llvm::PPC::DIR_PWR11, llvm::PPC::DIR_PWR7, llvm::PPC::DIR_PWR8, llvm::PPC::DIR_PWR9, and llvm::PPC::DIR_PWR_FUTURE.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 766 of file PPCTargetTransformInfo.cpp.
References assert(), llvm::cast(), CostKind, llvm::BasicTTIImplBase< PPCTTIImpl >::DL, llvm::InstructionCost::getMax(), llvm::BasicTTIImplBase< PPCTTIImpl >::getMemoryOpCost(), getNumElements(), llvm::BasicTTIImplBase< PPCTTIImpl >::getTypeLegalizationCost(), getVectorInstrCost(), I, llvm::InstructionCost::isValid(), llvm::TargetTransformInfo::TCK_RecipThroughput, llvm::Align::value(), and vectorCostAdjustmentFactor().
Referenced by getInterleavedMemoryOpCost().
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 449 of file PPCTargetTransformInfo.cpp.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 419 of file PPCTargetTransformInfo.cpp.
References llvm::BasicTTIImplBase< PPCTTIImpl >::getPeelingPreferences().
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 56 of file PPCTargetTransformInfo.cpp.
References assert(), llvm::isPowerOf2_32(), llvm::PPCSubtarget::POPCNTD_Slow, llvm::PPCSubtarget::POPCNTD_Unavailable, llvm::TargetTransformInfo::PSK_FastHardware, llvm::TargetTransformInfo::PSK_SlowHardware, and llvm::TargetTransformInfo::PSK_Software.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 514 of file PPCTargetTransformInfo.cpp.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 488 of file PPCTargetTransformInfo.cpp.
References llvm::TypeSize::getFixed(), llvm::TypeSize::getScalable(), llvm_unreachable, llvm::TargetTransformInfo::RGK_FixedWidthVector, llvm::TargetTransformInfo::RGK_ScalableVector, and llvm::TargetTransformInfo::RGK_Scalar.
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 460 of file PPCTargetTransformInfo.cpp.
References FPRRC, GPRRC, llvm::Vector, VRRC, and VSXRC.
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 474 of file PPCTargetTransformInfo.cpp.
References FPRRC, GPRRC, llvm_unreachable, VRRC, and VSXRC.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 606 of file PPCTargetTransformInfo.cpp.
References CostKind, llvm::InstructionCost::getMax(), llvm::BasicTTIImplBase< PPCTTIImpl >::getTypeLegalizationCost(), llvm::InstructionCost::isValid(), and vectorCostAdjustmentFactor().
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 978 of file PPCTargetTransformInfo.cpp.
References llvm::CallBase::getArgOperand(), and llvm::IntrinsicInst::getIntrinsicID().
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 403 of file PPCTargetTransformInfo.cpp.
References llvm::TargetTransformInfo::UnrollingPreferences::AllowExpensiveTripCount, llvm::PPC::DIR_A2, llvm::BasicTTIImplBase< PPCTTIImpl >::getUnrollingPreferences(), llvm::TargetTransformInfo::UnrollingPreferences::Partial, and llvm::TargetTransformInfo::UnrollingPreferences::Runtime.
|
inlineoverridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 1443 of file BasicTTIImpl.h.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 676 of file PPCTargetTransformInfo.cpp.
References assert(), CostKind, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::InstructionCost::getMax(), llvm::Type::getScalarSizeInBits(), llvm::Type::getScalarType(), llvm::BasicTTIImplBase< PPCTTIImpl >::getVectorInstrCost(), llvm::ISD::INSERT_VECTOR_ELT, llvm::Type::isDoubleTy(), llvm::Type::isIntegerTy(), llvm::InstructionCost::isValid(), llvm::Type::isVectorTy(), VecMaskCost, and vectorCostAdjustmentFactor().
Referenced by getMemoryOpCost().
|
inlineoverridevirtual |
ScalarUserAndIdx | encodes the information about extracts from a vector with 'Scalar' being the value being extracted,'User' being the user of the extract(nullptr if user is not known before vectorization) and 'Idx' being the extract lane. |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 1434 of file BasicTTIImpl.h.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 65 of file PPCTargetTransformInfo.cpp.
References assert(), llvm::InstCombiner::Builder, llvm::cast(), llvm::CastInst::Create(), llvm::IRBuilderBase::CreateBitCast(), llvm::IRBuilderBase::CreateExtractElement(), llvm::IRBuilderBase::CreateInsertElement(), llvm::BasicTTIImplBase< PPCTTIImpl >::DL, llvm::dyn_cast(), llvm::PoisonValue::get(), llvm::InstCombiner::getAssumptionCache(), llvm::InstCombiner::getDataLayout(), llvm::InstCombiner::getDominatorTree(), llvm::IRBuilderBase::getInt32(), llvm::getOrEnforceKnownAlignment(), llvm::Value::getType(), I, II, llvm::isa(), and Ptr.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 339 of file PPCTargetTransformInfo.cpp.
References llvm::CallingConv::C, Call, llvm::CodeMetrics::collectEphemeralValues(), llvm::HardwareLoopInfo::CountType, llvm::dyn_cast(), llvm::extractBranchWeights(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::TargetSchedModel::getIssueWidth(), llvm::ScalarEvolution::getSmallConstantTripCount(), I, llvm::TargetSchedModel::init(), llvm::HardwareLoopInfo::LoopDecrement, Metrics, and SmallCTRLoopThreshold.
Referenced by canSaveCmp().
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 956 of file PPCTargetTransformInfo.cpp.
References llvm::TargetTransformInfo::LSRCost::AddRecCost, llvm::TargetTransformInfo::LSRCost::ImmCost, llvm::TargetTransformInfo::LSRCost::Insns, llvm::TargetTransformInfoImplBase::isLSRCostLess(), LsrNoInsnsCost, llvm::TargetTransformInfo::LSRCost::NumBaseAdds, llvm::TargetTransformInfo::LSRCost::NumIVMuls, llvm::TargetTransformInfo::LSRCost::NumRegs, llvm::TargetTransformInfo::LSRCost::ScaleCost, and llvm::TargetTransformInfo::LSRCost::SetupCost.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 968 of file PPCTargetTransformInfo.cpp.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 970 of file PPCTargetTransformInfo.cpp.
References llvm::BasicTTIImplBase< PPCTTIImpl >::shouldBuildRelLookupTables().
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 1031 of file PPCTargetTransformInfo.cpp.
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 427 of file PPCTargetTransformInfo.cpp.
References EnablePPCColdCC, and F.
InstructionCost PPCTTIImpl::vectorCostAdjustmentFactor | ( | unsigned | Opcode, |
Type * | Ty1, | ||
Type * | Ty2 ) const |
Definition at line 553 of file PPCTargetTransformInfo.cpp.
References llvm::InstructionCost::getInvalid(), llvm::BasicTTIImplBase< PPCTTIImpl >::getTypeLegalizationCost(), InstructionCost, isMMAType(), and llvm::Type::isVectorTy().
Referenced by getArithmeticInstrCost(), getCastInstrCost(), getCmpSelInstrCost(), getInterleavedMemoryOpCost(), getMemoryOpCost(), getShuffleCost(), and getVectorInstrCost().