LLVM  6.0.0svn
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"

Inheritance diagram for llvm::TargetIntrinsicInfo:
Inheritance graph
[legend]

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. More...
 
virtual unsigned lookupName (const char *Name, unsigned Len) const =0
 Look up target intrinsic by name. More...
 
unsigned lookupName (StringRef Name) const
 
virtual unsigned getIntrinsicID (const Function *F) const
 Return the target intrinsic ID of a function, or 0. More...
 
virtual bool isOverloaded (unsigned IID) const =0
 Returns true if the intrinsic can be overloaded. More...
 
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. More...
 

Detailed Description

TargetIntrinsicInfo - Interface to description of machine instruction set.

Definition at line 31 of file TargetIntrinsicInfo.h.

Constructor & Destructor Documentation

◆ TargetIntrinsicInfo()

TargetIntrinsicInfo::TargetIntrinsicInfo ( )

Definition at line 19 of file TargetIntrinsicInfo.cpp.

◆ ~TargetIntrinsicInfo()

TargetIntrinsicInfo::~TargetIntrinsicInfo ( )
virtual

Definition at line 22 of file TargetIntrinsicInfo.cpp.

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.

Implemented in llvm::AMDGPUIntrinsicInfo.

Referenced by lookupName().

◆ getIntrinsicID()

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

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

Definition at line 25 of file TargetIntrinsicInfo.cpp.

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

Referenced by 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.

Implemented in llvm::AMDGPUIntrinsicInfo.

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

◆ isOverloaded()

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

Returns true if the intrinsic can be overloaded.

Implemented in llvm::AMDGPUIntrinsicInfo.

Referenced by lookupName().

◆ 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.

Implemented in llvm::AMDGPUIntrinsicInfo.

Referenced by getIntrinsicID(), isImplicitOperandIn(), and lookupName().

◆ lookupName() [2/2]

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

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