class IntrinsicCostAttributes

Declaration

class IntrinsicCostAttributes { /* full declaration omitted */ };

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:118

Member Variables

private const llvm::IntrinsicInst* II = nullptr
private llvm::Type* RetTy = nullptr
private Intrinsic::ID IID
private SmallVector<llvm::Type*, 4> ParamTys
private SmallVector<const llvm::Value*, 4> Arguments
private llvm::FastMathFlags FMF
private llvm::InstructionCost ScalarizationCost = InstructionCost::getInvalid()

Method Overview

  • public IntrinsicCostAttributes(Intrinsic::ID Id, const llvm::CallBase & CI, llvm::InstructionCost ScalarCost = InstructionCost::getInvalid(), bool TypeBasedOnly = false)
  • public IntrinsicCostAttributes(Intrinsic::ID Id, llvm::Type * RTy, ArrayRef<llvm::Type *> Tys, llvm::FastMathFlags Flags = llvm::FastMathFlags(), const llvm::IntrinsicInst * I = nullptr, llvm::InstructionCost ScalarCost = InstructionCost::getInvalid())
  • public IntrinsicCostAttributes(Intrinsic::ID Id, llvm::Type * RTy, ArrayRef<const llvm::Value *> Args)
  • public IntrinsicCostAttributes(Intrinsic::ID Id, llvm::Type * RTy, ArrayRef<const llvm::Value *> Args, ArrayRef<llvm::Type *> Tys, llvm::FastMathFlags Flags = llvm::FastMathFlags(), const llvm::IntrinsicInst * I = nullptr, llvm::InstructionCost ScalarCost = InstructionCost::getInvalid())
  • public const SmallVectorImpl<llvm::Type *> & getArgTypes() const
  • public const SmallVectorImpl<const llvm::Value *> & getArgs() const
  • public llvm::FastMathFlags getFlags() const
  • public Intrinsic::ID getID() const
  • public const llvm::IntrinsicInst * getInst() const
  • public llvm::Type * getReturnType() const
  • public llvm::InstructionCost getScalarizationCost() const
  • public bool isTypeBasedOnly() const
  • public bool skipScalarizationCost() const

Methods

IntrinsicCostAttributes(
    Intrinsic::ID Id,
    const llvm::CallBase& CI,
    llvm::InstructionCost ScalarCost =
        InstructionCost::getInvalid(),
    bool TypeBasedOnly = false)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:130

Parameters

Intrinsic::ID Id
const llvm::CallBase& CI
llvm::InstructionCost ScalarCost = InstructionCost::getInvalid()
bool TypeBasedOnly = false

IntrinsicCostAttributes(
    Intrinsic::ID Id,
    llvm::Type* RTy,
    ArrayRef<llvm::Type*> Tys,
    llvm::FastMathFlags Flags =
        llvm::FastMathFlags(),
    const llvm::IntrinsicInst* I = nullptr,
    llvm::InstructionCost ScalarCost =
        InstructionCost::getInvalid())

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:135

Parameters

Intrinsic::ID Id
llvm::Type* RTy
ArrayRef<llvm::Type*> Tys
llvm::FastMathFlags Flags = llvm::FastMathFlags()
const llvm::IntrinsicInst* I = nullptr
llvm::InstructionCost ScalarCost = InstructionCost::getInvalid()

IntrinsicCostAttributes(
    Intrinsic::ID Id,
    llvm::Type* RTy,
    ArrayRef<const llvm::Value*> Args)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:140

Parameters

Intrinsic::ID Id
llvm::Type* RTy
ArrayRef<const llvm::Value*> Args

IntrinsicCostAttributes(
    Intrinsic::ID Id,
    llvm::Type* RTy,
    ArrayRef<const llvm::Value*> Args,
    ArrayRef<llvm::Type*> Tys,
    llvm::FastMathFlags Flags =
        llvm::FastMathFlags(),
    const llvm::IntrinsicInst* I = nullptr,
    llvm::InstructionCost ScalarCost =
        InstructionCost::getInvalid())

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:143

Parameters

Intrinsic::ID Id
llvm::Type* RTy
ArrayRef<const llvm::Value*> Args
ArrayRef<llvm::Type*> Tys
llvm::FastMathFlags Flags = llvm::FastMathFlags()
const llvm::IntrinsicInst* I = nullptr
llvm::InstructionCost ScalarCost = InstructionCost::getInvalid()

const SmallVectorImpl<llvm::Type*>& getArgTypes()
    const

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:155

const SmallVectorImpl<const llvm::Value*>&
getArgs() const

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:154

llvm::FastMathFlags getFlags() const

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:152

Intrinsic::ID getID() const

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:149

const llvm::IntrinsicInst* getInst() const

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:150

llvm::Type* getReturnType() const

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:151

llvm::InstructionCost getScalarizationCost() const

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:153

bool isTypeBasedOnly() const

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:157

bool skipScalarizationCost() const

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:161