LLVM  12.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
llvm::Intrinsic::IITDescriptor Struct Reference

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

#include "llvm/IR/Intrinsics.h"

Collaboration diagram for llvm::Intrinsic::IITDescriptor:
Collaboration graph
[legend]

Public Types

enum  IITDescriptorKind {
  Void, VarArg, MMX, Token,
  Metadata, Half, BFloat, Float,
  Double, Quad, Integer, Vector,
  Pointer, Struct, Argument, ExtendArgument,
  TruncArgument, HalfVecArgument, SameVecWidthArgument, PtrToArgument,
  PtrToElt, VecOfAnyPtrsToElt, VecElementArgument, Subdivide2Argument,
  Subdivide4Argument, VecOfBitcastsToInt
}
 
enum  ArgKind {
  AK_Any, AK_AnyInteger, AK_AnyFloat, AK_AnyVector,
  AK_AnyPointer, AK_MatchType = 7
}
 

Public Member Functions

unsigned getArgumentNumber () const
 
ArgKind getArgumentKind () const
 
unsigned getOverloadArgNumber () 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 101 of file Intrinsics.h.

Member Enumeration Documentation

◆ ArgKind

Enumerator
AK_Any 
AK_AnyInteger 
AK_AnyFloat 
AK_AnyVector 
AK_AnyPointer 
AK_MatchType 

Definition at line 140 of file Intrinsics.h.

◆ IITDescriptorKind

Enumerator
Void 
VarArg 
MMX 
Token 
Metadata 
Half 
BFloat 
Float 
Double 
Quad 
Integer 
Vector 
Pointer 
Struct 
Argument 
ExtendArgument 
TruncArgument 
HalfVecArgument 
SameVecWidthArgument 
PtrToArgument 
PtrToElt 
VecOfAnyPtrsToElt 
VecElementArgument 
Subdivide2Argument 
Subdivide4Argument 
VecOfBitcastsToInt 

Definition at line 102 of file Intrinsics.h.

Member Function Documentation

◆ get() [1/2]

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

Definition at line 178 of file Intrinsics.h.

◆ get() [2/2]

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

Definition at line 183 of file Intrinsics.h.

References llvm::MipsISD::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 169 of file Intrinsics.h.

References Argument_Info, assert(), and VecOfAnyPtrsToElt.

◆ getRefArgNumber()

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

Definition at line 173 of file Intrinsics.h.

References Argument_Info, assert(), and VecOfAnyPtrsToElt.

◆ getVector()

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

Member Data Documentation

◆ @259

union { ... }

◆ Argument_Info

unsigned llvm::Intrinsic::IITDescriptor::Argument_Info

◆ Float_Width

unsigned llvm::Intrinsic::IITDescriptor::Float_Width

Definition at line 133 of file Intrinsics.h.

◆ Integer_Width

unsigned llvm::Intrinsic::IITDescriptor::Integer_Width

Definition at line 132 of file Intrinsics.h.

◆ Kind

enum llvm::Intrinsic::IITDescriptor::IITDescriptorKind llvm::Intrinsic::IITDescriptor::Kind

◆ Pointer_AddressSpace

unsigned llvm::Intrinsic::IITDescriptor::Pointer_AddressSpace

Definition at line 134 of file Intrinsics.h.

◆ Struct_NumElements

unsigned llvm::Intrinsic::IITDescriptor::Struct_NumElements

Definition at line 135 of file Intrinsics.h.

◆ Vector_Width

ElementCount llvm::Intrinsic::IITDescriptor::Vector_Width

Definition at line 137 of file Intrinsics.h.

Referenced by getVector().


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