LLVM 23.0.0git
llvm::Intrinsic::IITDescriptor Struct Reference

This is a type descriptor which explains the type requirements of an intrinsic. More...

#include "llvm/IR/Intrinsics.h"

Public Types

enum  IITDescriptorKind {
  Void , VarArg , MMX , Token ,
  Metadata , Half , BFloat , Float ,
  Double , Quad , Integer , Vector ,
  Pointer , Struct , Argument , ExtendArgument ,
  TruncArgument , OneNthEltsVecArgument , SameVecWidthArgument , VecOfAnyPtrsToElt ,
  VecElementArgument , Subdivide2Argument , Subdivide4Argument , VecOfBitcastsToInt ,
  AMX , PPCQuad , AArch64Svcount
}
enum  ArgKind

Public Member Functions

unsigned getArgumentNumber () const
ArgKind getArgumentKind () const
unsigned getOverloadArgNumber () const
unsigned getVectorDivisor () const
unsigned getRefArgNumber () const

Static Public Member Functions

static IITDescriptor get (IITDescriptorKind K, unsigned Field)
static IITDescriptor get (IITDescriptorKind K, unsigned short Hi, unsigned short Lo)
static IITDescriptor getVector (unsigned Width, bool IsScalable)

Public Attributes

enum llvm::Intrinsic::IITDescriptor::IITDescriptorKind Kind
union { 
   unsigned   Integer_Width 
   unsigned   Float_Width 
   unsigned   Pointer_AddressSpace 
   unsigned   Struct_NumElements 
   unsigned   Argument_Info 
   ElementCount   Vector_Width 
}; 

Detailed Description

This is a type descriptor which explains the type requirements of an intrinsic.

This is returned by getIntrinsicInfoTableEntries.

Definition at line 154 of file Intrinsics.h.

Member Enumeration Documentation

◆ ArgKind

Definition at line 195 of file Intrinsics.h.

◆ IITDescriptorKind

Enumerator
Void 
VarArg 
MMX 
Token 
Metadata 
Half 
BFloat 
Float 
Double 
Quad 
Integer 
Vector 
Pointer 
Struct 
Argument 
ExtendArgument 
TruncArgument 
OneNthEltsVecArgument 
SameVecWidthArgument 
VecOfAnyPtrsToElt 
VecElementArgument 
Subdivide2Argument 
Subdivide4Argument 
VecOfBitcastsToInt 
AMX 
PPCQuad 
AArch64Svcount 

Definition at line 155 of file Intrinsics.h.

Member Function Documentation

◆ get() [1/2]

IITDescriptor llvm::Intrinsic::IITDescriptor::get ( IITDescriptorKind K,
unsigned Field )
inlinestatic

Definition at line 232 of file Intrinsics.h.

◆ get() [2/2]

IITDescriptor llvm::Intrinsic::IITDescriptor::get ( IITDescriptorKind K,
unsigned short Hi,
unsigned short Lo )
inlinestatic

Definition at line 237 of file Intrinsics.h.

References llvm::Hi, and llvm::Lo.

◆ getArgumentKind()

ArgKind llvm::Intrinsic::IITDescriptor::getArgumentKind ( ) const
inline

◆ getArgumentNumber()

unsigned llvm::Intrinsic::IITDescriptor::getArgumentNumber ( ) const
inline

◆ getOverloadArgNumber()

unsigned llvm::Intrinsic::IITDescriptor::getOverloadArgNumber ( ) const
inline

Definition at line 217 of file Intrinsics.h.

References Argument_Info, assert(), Kind, and VecOfAnyPtrsToElt.

◆ getRefArgNumber()

unsigned llvm::Intrinsic::IITDescriptor::getRefArgNumber ( ) const
inline

Definition at line 227 of file Intrinsics.h.

References Argument_Info, assert(), Kind, OneNthEltsVecArgument, and VecOfAnyPtrsToElt.

◆ getVector()

IITDescriptor llvm::Intrinsic::IITDescriptor::getVector ( unsigned Width,
bool IsScalable )
inlinestatic

Definition at line 244 of file Intrinsics.h.

References llvm::ElementCount::get(), and Vector.

◆ getVectorDivisor()

unsigned llvm::Intrinsic::IITDescriptor::getVectorDivisor ( ) const
inline

Definition at line 223 of file Intrinsics.h.

References Argument_Info, assert(), Kind, and OneNthEltsVecArgument.

Member Data Documentation

◆ [union]

◆ Argument_Info

unsigned llvm::Intrinsic::IITDescriptor::Argument_Info

◆ Float_Width

unsigned llvm::Intrinsic::IITDescriptor::Float_Width

Definition at line 187 of file Intrinsics.h.

◆ Integer_Width

unsigned llvm::Intrinsic::IITDescriptor::Integer_Width

Definition at line 186 of file Intrinsics.h.

◆ Kind

◆ Pointer_AddressSpace

unsigned llvm::Intrinsic::IITDescriptor::Pointer_AddressSpace

Definition at line 188 of file Intrinsics.h.

◆ Struct_NumElements

unsigned llvm::Intrinsic::IITDescriptor::Struct_NumElements

Definition at line 189 of file Intrinsics.h.

◆ Vector_Width

ElementCount llvm::Intrinsic::IITDescriptor::Vector_Width

Definition at line 191 of file Intrinsics.h.


The documentation for this struct was generated from the following file: