LLVM
17.0.0git
|
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, HalfVecArgument, SameVecWidthArgument, PtrToArgument, PtrToElt, VecOfAnyPtrsToElt, VecElementArgument, Subdivide2Argument, Subdivide4Argument, VecOfBitcastsToInt, AMX, PPCQuad, AnyPtrToElt } |
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 | |
}; | |
This is a type descriptor which explains the type requirements of an intrinsic.
This is returned by getIntrinsicInfoTableEntries.
Definition at line 110 of file Intrinsics.h.
Enumerator | |
---|---|
AK_Any | |
AK_AnyInteger | |
AK_AnyFloat | |
AK_AnyVector | |
AK_AnyPointer | |
AK_MatchType |
Definition at line 152 of file Intrinsics.h.
Definition at line 111 of file Intrinsics.h.
|
inlinestatic |
Definition at line 191 of file Intrinsics.h.
Referenced by DecodeIITType().
|
inlinestatic |
Definition at line 196 of file Intrinsics.h.
|
inline |
Definition at line 170 of file Intrinsics.h.
References Argument_Info, assert(), ExtendArgument, HalfVecArgument, Kind, PtrToArgument, SameVecWidthArgument, Subdivide2Argument, Subdivide4Argument, TruncArgument, VecElementArgument, and VecOfBitcastsToInt.
Referenced by matchIntrinsicType().
|
inline |
Definition at line 161 of file Intrinsics.h.
References Argument_Info, assert(), ExtendArgument, HalfVecArgument, Kind, PtrToArgument, PtrToElt, SameVecWidthArgument, Subdivide2Argument, Subdivide4Argument, TruncArgument, VecElementArgument, and VecOfBitcastsToInt.
|
inline |
Definition at line 182 of file Intrinsics.h.
References AnyPtrToElt, Argument_Info, assert(), Kind, and VecOfAnyPtrsToElt.
|
inline |
Definition at line 186 of file Intrinsics.h.
References AnyPtrToElt, Argument_Info, assert(), Kind, and VecOfAnyPtrsToElt.
|
inlinestatic |
Definition at line 203 of file Intrinsics.h.
References llvm::ElementCount::get(), and Vector.
Referenced by DecodeIITType().
union { ... } |
unsigned llvm::Intrinsic::IITDescriptor::Argument_Info |
Definition at line 148 of file Intrinsics.h.
Referenced by getArgumentKind(), getArgumentNumber(), getOverloadArgNumber(), and getRefArgNumber().
unsigned llvm::Intrinsic::IITDescriptor::Float_Width |
Definition at line 145 of file Intrinsics.h.
unsigned llvm::Intrinsic::IITDescriptor::Integer_Width |
Definition at line 144 of file Intrinsics.h.
enum llvm::Intrinsic::IITDescriptor::IITDescriptorKind llvm::Intrinsic::IITDescriptor::Kind |
Referenced by getArgumentKind(), getArgumentNumber(), getOverloadArgNumber(), getRefArgNumber(), and matchIntrinsicType().
unsigned llvm::Intrinsic::IITDescriptor::Pointer_AddressSpace |
Definition at line 146 of file Intrinsics.h.
unsigned llvm::Intrinsic::IITDescriptor::Struct_NumElements |
Definition at line 147 of file Intrinsics.h.
Referenced by matchIntrinsicType().
ElementCount llvm::Intrinsic::IITDescriptor::Vector_Width |
Definition at line 149 of file Intrinsics.h.