#include "R600TargetTransformInfo.h"
#include "AMDGPU.h"
#include "AMDGPUTargetMachine.h"
#include "R600Subtarget.h"
usingnamespacellvm;
#define DEBUG_TYPE …
R600TTIImpl::R600TTIImpl(const AMDGPUTargetMachine *TM, const Function &F)
: … { … }
unsigned R600TTIImpl::getHardwareNumberOfRegisters(bool Vec) const { … }
unsigned R600TTIImpl::getNumberOfRegisters(bool Vec) const { … }
TypeSize
R600TTIImpl::getRegisterBitWidth(TargetTransformInfo::RegisterKind K) const { … }
unsigned R600TTIImpl::getMinVectorRegisterBitWidth() const { … }
unsigned R600TTIImpl::getLoadStoreVecRegBitWidth(unsigned AddrSpace) const { … }
bool R600TTIImpl::isLegalToVectorizeMemChain(unsigned ChainSizeInBytes,
Align Alignment,
unsigned AddrSpace) const { … }
bool R600TTIImpl::isLegalToVectorizeLoadChain(unsigned ChainSizeInBytes,
Align Alignment,
unsigned AddrSpace) const { … }
bool R600TTIImpl::isLegalToVectorizeStoreChain(unsigned ChainSizeInBytes,
Align Alignment,
unsigned AddrSpace) const { … }
unsigned R600TTIImpl::getMaxInterleaveFactor(ElementCount VF) { … }
InstructionCost R600TTIImpl::getCFInstrCost(unsigned Opcode,
TTI::TargetCostKind CostKind,
const Instruction *I) { … }
InstructionCost R600TTIImpl::getVectorInstrCost(unsigned Opcode, Type *ValTy,
TTI::TargetCostKind CostKind,
unsigned Index, Value *Op0,
Value *Op1) { … }
void R600TTIImpl::getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
TTI::UnrollingPreferences &UP,
OptimizationRemarkEmitter *ORE) { … }
void R600TTIImpl::getPeelingPreferences(Loop *L, ScalarEvolution &SE,
TTI::PeelingPreferences &PP) { … }