|
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 903 of file PPCTargetTransformInfo.cpp.
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 917 of file PPCTargetTransformInfo.cpp.
References llvm::TargetTransformInfoImplBase::areTypesABICompatible(), and llvm::none_of().
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 936 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 435 of file PPCTargetTransformInfo.cpp.
References llvm::PPC::DIR_A2.
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 451 of file PPCTargetTransformInfo.cpp.
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 444 of file PPCTargetTransformInfo.cpp.
References Options.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 589 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 505 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 643 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 634 of file PPCTargetTransformInfo.cpp.
References CostKind, I, and llvm::TargetTransformInfo::TCK_RecipThroughput.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 663 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 327 of file PPCTargetTransformInfo.cpp.
References CostKind, llvm::TargetTransformInfoImplBase::getInstructionCost(), llvm::BasicTTIImplBase< PPCTTIImpl >::getTypeLegalizationCost(), and llvm::isa().
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 863 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 167 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 233 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 198 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 898 of file PPCTargetTransformInfo.cpp.
References CostKind, and llvm::BasicTTIImplBase< PPCTTIImpl >::getIntrinsicInstrCost().
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 522 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 770 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 453 of file PPCTargetTransformInfo.cpp.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 423 of file PPCTargetTransformInfo.cpp.
References llvm::BasicTTIImplBase< PPCTTIImpl >::getPeelingPreferences().
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 60 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 518 of file PPCTargetTransformInfo.cpp.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 492 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 464 of file PPCTargetTransformInfo.cpp.
References FPRRC, GPRRC, llvm::Vector, VRRC, and VSXRC.
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 478 of file PPCTargetTransformInfo.cpp.
References FPRRC, GPRRC, llvm_unreachable, VRRC, and VSXRC.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 610 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 982 of file PPCTargetTransformInfo.cpp.
References llvm::CallBase::getArgOperand(), and llvm::IntrinsicInst::getIntrinsicID().
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 407 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 1469 of file BasicTTIImpl.h.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 680 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 1460 of file BasicTTIImpl.h.
|
overridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 1043 of file PPCTargetTransformInfo.cpp.
References llvm::PPC::DIR_PWR10, llvm::PPC::DIR_PWR9, llvm::PPC::DIR_PWR_FUTURE, llvm::BasicTTIImplBase< PPCTTIImpl >::DL, llvm::dyn_cast(), llvm::IntrinsicInst::getIntrinsicID(), llvm::User::getOperand(), llvm::getSplatValue(), llvm::Value::getType(), llvm::TargetTransformInfoImplBase::getVPLegalizationStrategy(), llvm::TargetTransformInfo::VPLegalization::Legal, and Pwr9EVL.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 69 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 343 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 960 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 972 of file PPCTargetTransformInfo.cpp.
|
overridevirtual |
Reimplemented from llvm::BasicTTIImplBase< PPCTTIImpl >.
Definition at line 974 of file PPCTargetTransformInfo.cpp.
References llvm::BasicTTIImplBase< PPCTTIImpl >::shouldBuildRelLookupTables().
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 1035 of file PPCTargetTransformInfo.cpp.
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 431 of file PPCTargetTransformInfo.cpp.
References EnablePPCColdCC, and F.
| InstructionCost PPCTTIImpl::vectorCostAdjustmentFactor | ( | unsigned | Opcode, |
| Type * | Ty1, | ||
| Type * | Ty2 ) const |
Definition at line 557 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().