LLVM 20.0.0git
Public Member Functions | List of all members
llvm::TargetIntrinsicInfo Class Referenceabstract

TargetIntrinsicInfo - Interface to description of machine instruction set. More...

#include "llvm/Target/TargetIntrinsicInfo.h"

Public Member Functions

 TargetIntrinsicInfo ()
 
virtual ~TargetIntrinsicInfo ()
 
virtual std::string getName (unsigned IID, Type **Tys=nullptr, unsigned numTys=0) const =0
 Return the name of a target intrinsic, e.g.
 
virtual unsigned lookupName (const char *Name, unsigned Len) const =0
 Look up target intrinsic by name.
 
unsigned lookupName (StringRef Name) const
 
virtual unsigned getIntrinsicID (const Function *F) const
 Return the target intrinsic ID of a function, or 0.
 
virtual bool isOverloaded (unsigned IID) const =0
 Returns true if the intrinsic can be overloaded.
 
virtual FunctiongetDeclaration (Module *M, unsigned ID, Type **Tys=nullptr, unsigned numTys=0) const =0
 Create or insert an LLVM Function declaration for an intrinsic, and return it.
 

Detailed Description

TargetIntrinsicInfo - Interface to description of machine instruction set.

Definition at line 29 of file TargetIntrinsicInfo.h.

Constructor & Destructor Documentation

◆ TargetIntrinsicInfo()

TargetIntrinsicInfo::TargetIntrinsicInfo ( )
default

◆ ~TargetIntrinsicInfo()

TargetIntrinsicInfo::~TargetIntrinsicInfo ( )
virtualdefault

Member Function Documentation

◆ getDeclaration()

virtual Function * llvm::TargetIntrinsicInfo::getDeclaration ( Module M,
unsigned  ID,
Type **  Tys = nullptr,
unsigned  numTys = 0 
) const
pure virtual

Create or insert an LLVM Function declaration for an intrinsic, and return it.

The Tys and numTys are for intrinsics with overloaded types. See above for more information.

◆ getIntrinsicID()

unsigned TargetIntrinsicInfo::getIntrinsicID ( const Function F) const
virtual

Return the target intrinsic ID of a function, or 0.

Definition at line 22 of file TargetIntrinsicInfo.cpp.

References F, llvm::StringMapEntry< ValueTy >::getKeyData(), llvm::StringMapEntryBase::getKeyLength(), and lookupName().

◆ getName()

virtual std::string llvm::TargetIntrinsicInfo::getName ( unsigned  IID,
Type **  Tys = nullptr,
unsigned  numTys = 0 
) const
pure virtual

Return the name of a target intrinsic, e.g.

"llvm.bfin.ssync". The Tys and numTys parameters are for intrinsics with overloaded types (e.g., those using iAny or fAny). For a declaration for an overloaded intrinsic, Tys should point to an array of numTys pointers to Type, and must provide exactly one type for each overloaded type in the intrinsic.

Referenced by llvm::MachineOperand::print().

◆ isOverloaded()

virtual bool llvm::TargetIntrinsicInfo::isOverloaded ( unsigned  IID) const
pure virtual

Returns true if the intrinsic can be overloaded.

◆ lookupName() [1/2]

virtual unsigned llvm::TargetIntrinsicInfo::lookupName ( const char Name,
unsigned  Len 
) const
pure virtual

Look up target intrinsic by name.

Return intrinsic ID or 0 for unknown names.

Referenced by getIntrinsicID(), and lookupName().

◆ lookupName() [2/2]

unsigned llvm::TargetIntrinsicInfo::lookupName ( StringRef  Name) const
inline

Definition at line 49 of file TargetIntrinsicInfo.h.

References lookupName(), and Name.


The documentation for this class was generated from the following files: