class TargetTransformInfoImplCRTPBase

Declaration

template <typename T>
class TargetTransformInfoImplCRTPBase
    : public TargetTransformInfoImplBase { /* full declaration omitted */ };

Description

CRTP base class for use as a mix-in that aids implementing a TargetTransformInfo-compatible class.

Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:705

Inherits from: TargetTransformInfoImplBase

Templates

T

Member Variables

Inherited from TargetTransformInfoImplBase:

protected DL

Method Overview

  • protected TargetTransformInfoImplCRTPBase<T>(const llvm::DataLayout & DL)
  • public unsigned int getCallCost(const llvm::Function * F, int NumArgs, const llvm::User * U)
  • public unsigned int getCallCost(const llvm::Function * F, ArrayRef<const llvm::Value *> Arguments, const llvm::User * U)
  • public int getGEPCost(llvm::Type * PointeeType, const llvm::Value * Ptr, ArrayRef<const llvm::Value *> Operands)
  • public int getInstructionLatency(const llvm::Instruction * I)
  • public unsigned int getIntrinsicCost(Intrinsic::ID IID, llvm::Type * RetTy, ArrayRef<llvm::Type *> ParamTys, const llvm::User * U)
  • public unsigned int getIntrinsicCost(Intrinsic::ID IID, llvm::Type * RetTy, ArrayRef<const llvm::Value *> Arguments, const llvm::User * U)
  • public unsigned int getUserCost(const llvm::User * U, ArrayRef<const llvm::Value *> Operands)

Inherited from TargetTransformInfoImplBase:

Methods

TargetTransformInfoImplCRTPBase<T>(
    const llvm::DataLayout& DL)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:710

Parameters

const llvm::DataLayout& DL

unsigned int getCallCost(const llvm::Function* F,
                         int NumArgs,
                         const llvm::User* U)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:715

Parameters

const llvm::Function* F
int NumArgs
const llvm::User* U

unsigned int getCallCost(
    const llvm::Function* F,
    ArrayRef<const llvm::Value*> Arguments,
    const llvm::User* U)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:737

Parameters

const llvm::Function* F
ArrayRef<const llvm::Value*> Arguments
const llvm::User* U

int getGEPCost(
    llvm::Type* PointeeType,
    const llvm::Value* Ptr,
    ArrayRef<const llvm::Value*> Operands)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:747

Parameters

llvm::Type* PointeeType
const llvm::Value* Ptr
ArrayRef<const llvm::Value*> Operands

int getInstructionLatency(
    const llvm::Instruction* I)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:903

Parameters

const llvm::Instruction* I

unsigned int getIntrinsicCost(
    Intrinsic::ID IID,
    llvm::Type* RetTy,
    ArrayRef<llvm::Type*> ParamTys,
    const llvm::User* U)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:805

Parameters

Intrinsic::ID IID
llvm::Type* RetTy
ArrayRef<llvm::Type*> ParamTys
const llvm::User* U

unsigned int getIntrinsicCost(
    Intrinsic::ID IID,
    llvm::Type* RetTy,
    ArrayRef<const llvm::Value*> Arguments,
    const llvm::User* U)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:849

Parameters

Intrinsic::ID IID
llvm::Type* RetTy
ArrayRef<const llvm::Value*> Arguments
const llvm::User* U

unsigned int getUserCost(
    const llvm::User* U,
    ArrayRef<const llvm::Value*> Operands)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfoImpl.h:861

Parameters

const llvm::User* U
ArrayRef<const llvm::Value*> Operands