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) |
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.
|
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.
|
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.
union { ... } llvm::Intrinsic::IITDescriptor::@293 |
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(), and getRefArgNumber().
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.
ElementCount llvm::Intrinsic::IITDescriptor::Vector_Width |
Definition at line 149 of file Intrinsics.h.