LLVM  4.0.0
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 <Intrinsics.h>

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

Public Types

enum  IITDescriptorKind {
  Void, VarArg, MMX, Token,
  Metadata, Half, Float, Double,
  Integer, Vector, Pointer, Struct,
  Argument, ExtendArgument, TruncArgument, HalfVecArgument,
  SameVecWidthArgument, PtrToArgument, PtrToElt, VecOfPtrsToElt
}
 
enum  ArgKind {
  AK_Any, AK_AnyInteger, AK_AnyFloat, AK_AnyVector,
  AK_AnyPointer
}
 

Public Member Functions

unsigned getArgumentNumber () const
 
ArgKind getArgumentKind () const
 

Static Public Member Functions

static IITDescriptor get (IITDescriptorKind K, unsigned Field)
 

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

Enumerator
AK_Any 
AK_AnyInteger 
AK_AnyFloat 
AK_AnyVector 
AK_AnyPointer 

Definition at line 115 of file Intrinsics.h.

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

Definition at line 99 of file Intrinsics.h.

Member Function Documentation

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

Definition at line 137 of file Intrinsics.h.

References llvm::tgtok::Field.

Referenced by DecodeIITType().

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

Member Data Documentation

union { ... }
unsigned llvm::Intrinsic::IITDescriptor::Argument_Info

Definition at line 112 of file Intrinsics.h.

Referenced by getArgumentKind(), and getArgumentNumber().

unsigned llvm::Intrinsic::IITDescriptor::Float_Width

Definition at line 108 of file Intrinsics.h.

unsigned llvm::Intrinsic::IITDescriptor::Integer_Width

Definition at line 107 of file Intrinsics.h.

enum llvm::Intrinsic::IITDescriptor::IITDescriptorKind llvm::Intrinsic::IITDescriptor::Kind
unsigned llvm::Intrinsic::IITDescriptor::Pointer_AddressSpace

Definition at line 110 of file Intrinsics.h.

unsigned llvm::Intrinsic::IITDescriptor::Struct_NumElements

Definition at line 111 of file Intrinsics.h.

unsigned llvm::Intrinsic::IITDescriptor::Vector_Width

Definition at line 109 of file Intrinsics.h.


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