LLVM  13.0.0git
Macros | Variables
CostModel.cpp File Reference
#include "llvm/ADT/STLExtras.h"
#include "llvm/Analysis/Passes.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/IR/Function.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for CostModel.cpp:

Go to the source code of this file.

Macros

#define CM_NAME   "cost-model"
 
#define DEBUG_TYPE   CM_NAME
 

Variables

static cl::opt< TargetTransformInfo::TargetCostKindCostKind ("cost-kind", cl::desc("Target cost kind"), cl::init(TargetTransformInfo::TCK_RecipThroughput), cl::values(clEnumValN(TargetTransformInfo::TCK_RecipThroughput, "throughput", "Reciprocal throughput"), clEnumValN(TargetTransformInfo::TCK_Latency, "latency", "Instruction latency"), clEnumValN(TargetTransformInfo::TCK_CodeSize, "code-size", "Code size"), clEnumValN(TargetTransformInfo::TCK_SizeAndLatency, "size-latency", "Code size and latency")))
 
static const char cm_name [] = "Cost Model Analysis"
 

Macro Definition Documentation

◆ CM_NAME

#define CM_NAME   "cost-model"

Definition at line 43 of file CostModel.cpp.

◆ DEBUG_TYPE

#define DEBUG_TYPE   CM_NAME

Definition at line 44 of file CostModel.cpp.

Variable Documentation

◆ cm_name

const char cm_name[] = "Cost Model Analysis"
static

Definition at line 78 of file CostModel.cpp.

◆ CostKind

cl::opt<TargetTransformInfo::TargetCostKind> CostKind("cost-kind", cl::desc("Target cost kind"), cl::init(TargetTransformInfo::TCK_RecipThroughput), cl::values(clEnumValN(TargetTransformInfo::TCK_RecipThroughput, "throughput", "Reciprocal throughput"), clEnumValN(TargetTransformInfo::TCK_Latency, "latency", "Instruction latency"), clEnumValN(TargetTransformInfo::TCK_CodeSize, "code-size", "Code size"), clEnumValN(TargetTransformInfo::TCK_SizeAndLatency, "size-latency", "Code size and latency")))
static

Referenced by analyzeLoopUnrollCost(), costAndCollectOperands(), llvm::FoldBranchToCommonDest(), llvm::WebAssemblyTTIImpl::getArithmeticInstrCost(), llvm::LanaiTTIImpl::getArithmeticInstrCost(), llvm::SystemZTTIImpl::getArithmeticInstrCost(), llvm::NVPTXTTIImpl::getArithmeticInstrCost(), llvm::PPCTTIImpl::getArithmeticInstrCost(), llvm::X86TTIImpl::getArithmeticInstrCost(), llvm::HexagonTTIImpl::getArithmeticInstrCost(), llvm::AArch64TTIImpl::getArithmeticInstrCost(), llvm::GCNTTIImpl::getArithmeticInstrCost(), llvm::ARMTTIImpl::getArithmeticInstrCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getArithmeticInstrCost(), llvm::TargetTransformInfo::getArithmeticInstrCost(), llvm::X86TTIImpl::getArithmeticReductionCost(), llvm::GCNTTIImpl::getArithmeticReductionCost(), llvm::ARMTTIImpl::getArithmeticReductionCost(), llvm::AArch64TTIImpl::getArithmeticReductionCost(), llvm::TargetTransformInfo::getArithmeticReductionCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getArithmeticReductionCost(), llvm::AArch64TTIImpl::getArithmeticReductionCostSVE(), llvm::HexagonTTIImpl::getCallInstrCost(), llvm::TargetTransformInfo::getCallInstrCost(), llvm::SystemZTTIImpl::getCastInstrCost(), llvm::PPCTTIImpl::getCastInstrCost(), llvm::AArch64TTIImpl::getCastInstrCost(), llvm::X86TTIImpl::getCastInstrCost(), llvm::HexagonTTIImpl::getCastInstrCost(), llvm::ARMTTIImpl::getCastInstrCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getCastInstrCost(), llvm::TargetTransformInfo::getCastInstrCost(), llvm::PPCTTIImpl::getCFInstrCost(), llvm::AArch64TTIImpl::getCFInstrCost(), llvm::GCNTTIImpl::getCFInstrCost(), llvm::ARMTTIImpl::getCFInstrCost(), llvm::X86TTIImpl::getCFInstrCost(), llvm::R600TTIImpl::getCFInstrCost(), llvm::TargetTransformInfoImplBase::getCFInstrCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getCFInstrCost(), llvm::TargetTransformInfo::getCFInstrCost(), llvm::BPFTTIImpl::getCmpSelInstrCost(), llvm::SystemZTTIImpl::getCmpSelInstrCost(), llvm::PPCTTIImpl::getCmpSelInstrCost(), llvm::X86TTIImpl::getCmpSelInstrCost(), llvm::HexagonTTIImpl::getCmpSelInstrCost(), llvm::AArch64TTIImpl::getCmpSelInstrCost(), llvm::ARMTTIImpl::getCmpSelInstrCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getCmpSelInstrCost(), llvm::TargetTransformInfo::getCmpSelInstrCost(), llvm::AArch64TTIImpl::getCostOfKeepingLiveOverCall(), llvm::ARMTTIImpl::getExtendedAddReductionCost(), llvm::TargetTransformInfo::getExtendedAddReductionCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getExtendedAddReductionCost(), llvm::AArch64TTIImpl::getExtractWithExtendCost(), llvm::AArch64TTIImpl::getGatherScatterOpCost(), llvm::HexagonTTIImpl::getGatherScatterOpCost(), llvm::X86TTIImpl::getGatherScatterOpCost(), llvm::ARMTTIImpl::getGatherScatterOpCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getGatherScatterOpCost(), llvm::TargetTransformInfo::getGatherScatterOpCost(), llvm::TargetTransformInfo::getGEPCost(), llvm::SystemZTTIImpl::getInterleavedMemoryOpCost(), llvm::PPCTTIImpl::getInterleavedMemoryOpCost(), llvm::HexagonTTIImpl::getInterleavedMemoryOpCost(), llvm::X86TTIImpl::getInterleavedMemoryOpCost(), llvm::ARMTTIImpl::getInterleavedMemoryOpCost(), llvm::AArch64TTIImpl::getInterleavedMemoryOpCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getInterleavedMemoryOpCost(), llvm::TargetTransformInfo::getInterleavedMemoryOpCost(), llvm::X86TTIImpl::getInterleavedMemoryOpCostAVX2(), llvm::X86TTIImpl::getInterleavedMemoryOpCostAVX512(), llvm::PPCTTIImpl::getIntImmCost(), llvm::TargetTransformInfo::getIntImmCost(), llvm::RISCVTTIImpl::getIntImmCostInst(), llvm::PPCTTIImpl::getIntImmCostInst(), llvm::LanaiTTIImpl::getIntImmCostInst(), llvm::AArch64TTIImpl::getIntImmCostInst(), llvm::ARMTTIImpl::getIntImmCostInst(), llvm::X86TTIImpl::getIntImmCostInst(), llvm::TargetTransformInfo::getIntImmCostInst(), llvm::SystemZTTIImpl::getIntImmCostIntrin(), llvm::PPCTTIImpl::getIntImmCostIntrin(), llvm::LanaiTTIImpl::getIntImmCostIntrin(), llvm::AArch64TTIImpl::getIntImmCostIntrin(), llvm::X86TTIImpl::getIntImmCostIntrin(), llvm::TargetTransformInfo::getIntImmCostIntrin(), llvm::AArch64TTIImpl::getIntrinsicInstrCost(), llvm::HexagonTTIImpl::getIntrinsicInstrCost(), llvm::SystemZTTIImpl::getIntrinsicInstrCost(), llvm::PPCTTIImpl::getIntrinsicInstrCost(), llvm::X86TTIImpl::getIntrinsicInstrCost(), llvm::GCNTTIImpl::getIntrinsicInstrCost(), llvm::ARMTTIImpl::getIntrinsicInstrCost(), llvm::TargetTransformInfo::getIntrinsicInstrCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getIntrinsicInstrCost(), llvm::HexagonTTIImpl::getMaskedMemoryOpCost(), llvm::X86TTIImpl::getMaskedMemoryOpCost(), llvm::ARMTTIImpl::getMaskedMemoryOpCost(), llvm::TargetTransformInfo::getMaskedMemoryOpCost(), llvm::SystemZTTIImpl::getMemoryOpCost(), llvm::HexagonTTIImpl::getMemoryOpCost(), llvm::PPCTTIImpl::getMemoryOpCost(), llvm::X86TTIImpl::getMemoryOpCost(), llvm::AArch64TTIImpl::getMemoryOpCost(), llvm::ARMTTIImpl::getMemoryOpCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getMemoryOpCost(), llvm::TargetTransformInfo::getMemoryOpCost(), llvm::AArch64TTIImpl::getMinMaxReductionCost(), llvm::X86TTIImpl::getMinMaxReductionCost(), llvm::GCNTTIImpl::getMinMaxReductionCost(), llvm::TargetTransformInfo::getMinMaxReductionCost(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getMinMaxReductionCost(), llvm::ARMSubtarget::getMVEVectorCostFactor(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getTypeBasedIntrinsicInstrCost(), llvm::PPCTTIImpl::getUserCost(), llvm::HexagonTTIImpl::getUserCost(), llvm::TargetTransformInfo::getUserCost(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getUserCost(), unswitchBestCondition(), and validateAndCostRequiredSelects().