LLVM  6.0.0svn
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, Float, Double,
  Integer, Vector, Pointer, Struct,
  Argument, ExtendArgument, TruncArgument, HalfVecArgument,
  SameVecWidthArgument, PtrToArgument, PtrToElt, VecOfAnyPtrsToElt
}
 
enum  ArgKind {
  AK_Any, AK_AnyInteger, AK_AnyFloat, AK_AnyVector,
  AK_AnyPointer
}
 

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)
 

Public Attributes

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

Detailed Description

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

This is returned by getIntrinsicInfoTableEntries.

Definition at line 98 of file Intrinsics.h.

Member Enumeration Documentation

◆ ArgKind

Enumerator
AK_Any 
AK_AnyInteger 
AK_AnyFloat 
AK_AnyVector 
AK_AnyPointer 

Definition at line 115 of file Intrinsics.h.

◆ IITDescriptorKind

Enumerator
Void 
VarArg 
MMX 
Token 
Metadata 
Half 
Float 
Double 
Integer 
Vector 
Pointer 
Struct 
Argument 
ExtendArgument 
TruncArgument 
HalfVecArgument 
SameVecWidthArgument 
PtrToArgument 
PtrToElt 
VecOfAnyPtrsToElt 

Definition at line 99 of file Intrinsics.h.

Member Function Documentation

◆ get() [1/2]

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

Definition at line 148 of file Intrinsics.h.

References llvm::tgtok::Field.

◆ get() [2/2]

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

◆ 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 139 of file Intrinsics.h.

References Argument_Info, assert(), and VecOfAnyPtrsToElt.

Referenced by llvm::Intrinsic::matchIntrinsicType().

◆ getRefArgNumber()

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

Definition at line 143 of file Intrinsics.h.

References Argument_Info, assert(), and VecOfAnyPtrsToElt.

Referenced by llvm::Intrinsic::matchIntrinsicType().

Member Data Documentation

◆ @209

union { ... }

◆ Argument_Info

unsigned llvm::Intrinsic::IITDescriptor::Argument_Info

◆ Float_Width

unsigned llvm::Intrinsic::IITDescriptor::Float_Width

Definition at line 108 of file Intrinsics.h.

◆ Integer_Width

unsigned llvm::Intrinsic::IITDescriptor::Integer_Width

Definition at line 107 of file Intrinsics.h.

Referenced by llvm::Intrinsic::matchIntrinsicType().

◆ Kind

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

◆ Pointer_AddressSpace

unsigned llvm::Intrinsic::IITDescriptor::Pointer_AddressSpace

Definition at line 110 of file Intrinsics.h.

Referenced by llvm::Intrinsic::matchIntrinsicType().

◆ Struct_NumElements

unsigned llvm::Intrinsic::IITDescriptor::Struct_NumElements

Definition at line 111 of file Intrinsics.h.

Referenced by llvm::Intrinsic::matchIntrinsicType().

◆ Vector_Width

unsigned llvm::Intrinsic::IITDescriptor::Vector_Width

Definition at line 109 of file Intrinsics.h.

Referenced by llvm::Intrinsic::matchIntrinsicType().


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