LLVM  6.0.0svn
Classes | Public Types | Static Public Member Functions | List of all members
llvm::AMDGPULibFuncBase Class Reference

#include "Target/AMDGPU/AMDGPULibFunc.h"

Inheritance diagram for llvm::AMDGPULibFuncBase:
Inheritance graph
[legend]

Classes

struct  Param
 

Public Types

enum  EFuncId {
  EI_NONE, EI_ABS, EI_ABS_DIFF, EI_ACOS,
  EI_ACOSH, EI_ACOSPI, EI_ADD_SAT, EI_ALL,
  EI_ANY, EI_ASIN, EI_ASINH, EI_ASINPI,
  EI_ASYNC_WORK_GROUP_COPY, EI_ASYNC_WORK_GROUP_STRIDED_COPY, EI_ATAN, EI_ATAN2,
  EI_ATAN2PI, EI_ATANH, EI_ATANPI, EI_ATOMIC_ADD,
  EI_ATOMIC_AND, EI_ATOMIC_CMPXCHG, EI_ATOMIC_DEC, EI_ATOMIC_INC,
  EI_ATOMIC_MAX, EI_ATOMIC_MIN, EI_ATOMIC_OR, EI_ATOMIC_SUB,
  EI_ATOMIC_XCHG, EI_ATOMIC_XOR, EI_BITSELECT, EI_CBRT,
  EI_CEIL, EI_CLAMP, EI_CLZ, EI_COMMIT_READ_PIPE,
  EI_COMMIT_WRITE_PIPE, EI_COPYSIGN, EI_COS, EI_COSH,
  EI_COSPI, EI_CROSS, EI_CTZ, EI_DEGREES,
  EI_DISTANCE, EI_DIVIDE, EI_DOT, EI_ERF,
  EI_ERFC, EI_EXP, EI_EXP10, EI_EXP2,
  EI_EXPM1, EI_FABS, EI_FAST_DISTANCE, EI_FAST_LENGTH,
  EI_FAST_NORMALIZE, EI_FDIM, EI_FLOOR, EI_FMA,
  EI_FMAX, EI_FMIN, EI_FMOD, EI_FRACT,
  EI_FREXP, EI_GET_IMAGE_ARRAY_SIZE, EI_GET_IMAGE_CHANNEL_DATA_TYPE, EI_GET_IMAGE_CHANNEL_ORDER,
  EI_GET_IMAGE_DIM, EI_GET_IMAGE_HEIGHT, EI_GET_IMAGE_WIDTH, EI_GET_PIPE_MAX_PACKETS,
  EI_GET_PIPE_NUM_PACKETS, EI_HADD, EI_HYPOT, EI_ILOGB,
  EI_ISEQUAL, EI_ISFINITE, EI_ISGREATER, EI_ISGREATEREQUAL,
  EI_ISINF, EI_ISLESS, EI_ISLESSEQUAL, EI_ISLESSGREATER,
  EI_ISNAN, EI_ISNORMAL, EI_ISNOTEQUAL, EI_ISORDERED,
  EI_ISUNORDERED, EI_LDEXP, EI_LENGTH, EI_LGAMMA,
  EI_LGAMMA_R, EI_LOG, EI_LOG10, EI_LOG1P,
  EI_LOG2, EI_LOGB, EI_MAD, EI_MAD24,
  EI_MAD_HI, EI_MAD_SAT, EI_MAX, EI_MAXMAG,
  EI_MIN, EI_MINMAG, EI_MIX, EI_MODF,
  EI_MUL24, EI_MUL_HI, EI_NAN, EI_NEXTAFTER,
  EI_NORMALIZE, EI_POPCOUNT, EI_POW, EI_POWN,
  EI_POWR, EI_PREFETCH, EI_RADIANS, EI_RECIP,
  EI_REMAINDER, EI_REMQUO, EI_RESERVE_READ_PIPE, EI_RESERVE_WRITE_PIPE,
  EI_RHADD, EI_RINT, EI_ROOTN, EI_ROTATE,
  EI_ROUND, EI_RSQRT, EI_SELECT, EI_SHUFFLE,
  EI_SHUFFLE2, EI_SIGN, EI_SIGNBIT, EI_SIN,
  EI_SINCOS, EI_SINH, EI_SINPI, EI_SMOOTHSTEP,
  EI_SQRT, EI_STEP, EI_SUB_GROUP_BROADCAST, EI_SUB_GROUP_COMMIT_READ_PIPE,
  EI_SUB_GROUP_COMMIT_WRITE_PIPE, EI_SUB_GROUP_REDUCE_ADD, EI_SUB_GROUP_REDUCE_MAX, EI_SUB_GROUP_REDUCE_MIN,
  EI_SUB_GROUP_RESERVE_READ_PIPE, EI_SUB_GROUP_RESERVE_WRITE_PIPE, EI_SUB_GROUP_SCAN_EXCLUSIVE_ADD, EI_SUB_GROUP_SCAN_EXCLUSIVE_MAX,
  EI_SUB_GROUP_SCAN_EXCLUSIVE_MIN, EI_SUB_GROUP_SCAN_INCLUSIVE_ADD, EI_SUB_GROUP_SCAN_INCLUSIVE_MAX, EI_SUB_GROUP_SCAN_INCLUSIVE_MIN,
  EI_SUB_SAT, EI_TAN, EI_TANH, EI_TANPI,
  EI_TGAMMA, EI_TRUNC, EI_UPSAMPLE, EI_VEC_STEP,
  EI_VSTORE, EI_VSTORE16, EI_VSTORE2, EI_VSTORE3,
  EI_VSTORE4, EI_VSTORE8, EI_WORK_GROUP_COMMIT_READ_PIPE, EI_WORK_GROUP_COMMIT_WRITE_PIPE,
  EI_WORK_GROUP_REDUCE_ADD, EI_WORK_GROUP_REDUCE_MAX, EI_WORK_GROUP_REDUCE_MIN, EI_WORK_GROUP_RESERVE_READ_PIPE,
  EI_WORK_GROUP_RESERVE_WRITE_PIPE, EI_WORK_GROUP_SCAN_EXCLUSIVE_ADD, EI_WORK_GROUP_SCAN_EXCLUSIVE_MAX, EI_WORK_GROUP_SCAN_EXCLUSIVE_MIN,
  EI_WORK_GROUP_SCAN_INCLUSIVE_ADD, EI_WORK_GROUP_SCAN_INCLUSIVE_MAX, EI_WORK_GROUP_SCAN_INCLUSIVE_MIN, EI_WRITE_IMAGEF,
  EI_WRITE_IMAGEI, EI_WRITE_IMAGEUI, EI_NCOS, EI_NEXP2,
  EI_NFMA, EI_NLOG2, EI_NRCP, EI_NRSQRT,
  EI_NSIN, EI_NSQRT, EI_FTZ, EI_FLDEXP,
  EI_CLASS, EI_RCBRT, EI_LAST_MANGLED, EI_READ_PIPE_2,
  EI_READ_PIPE_4, EI_WRITE_PIPE_2, EI_WRITE_PIPE_4, EX_INTRINSICS_COUNT
}
 
enum  ENamePrefix { NOPFX, NATIVE, HALF }
 
enum  EType {
  B8 = 1, B16 = 2, B32 = 3, B64 = 4,
  SIZE_MASK = 7, FLOAT = 0x10, INT = 0x20, UINT = 0x30,
  BASE_TYPE_MASK = 0x30, U8 = UINT | B8, U16 = UINT | B16, U32 = UINT | B32,
  U64 = UINT | B64, I8 = INT | B8, I16 = INT | B16, I32 = INT | B32,
  I64 = INT | B64, F16 = FLOAT | B16, F32 = FLOAT | B32, F64 = FLOAT | B64,
  IMG1DA = 0x80, IMG1DB, IMG2DA, IMG1D,
  IMG2D, IMG3D, SAMPLER, EVENT,
  DUMMY
}
 
enum  EPtrKind { BYVALUE = 0, ADDR_SPACE = 0xF, CONST = 0x10, VOLATILE = 0x20 }
 

Static Public Member Functions

static bool isMangled (EFuncId Id)
 
static unsigned getEPtrKindFromAddrSpace (unsigned AS)
 
static unsigned getAddrSpaceFromEPtrKind (unsigned Kind)
 

Detailed Description

Definition at line 21 of file AMDGPULibFunc.h.

Member Enumeration Documentation

◆ EFuncId

Enumerator
EI_NONE 
EI_ABS 
EI_ABS_DIFF 
EI_ACOS 
EI_ACOSH 
EI_ACOSPI 
EI_ADD_SAT 
EI_ALL 
EI_ANY 
EI_ASIN 
EI_ASINH 
EI_ASINPI 
EI_ASYNC_WORK_GROUP_COPY 
EI_ASYNC_WORK_GROUP_STRIDED_COPY 
EI_ATAN 
EI_ATAN2 
EI_ATAN2PI 
EI_ATANH 
EI_ATANPI 
EI_ATOMIC_ADD 
EI_ATOMIC_AND 
EI_ATOMIC_CMPXCHG 
EI_ATOMIC_DEC 
EI_ATOMIC_INC 
EI_ATOMIC_MAX 
EI_ATOMIC_MIN 
EI_ATOMIC_OR 
EI_ATOMIC_SUB 
EI_ATOMIC_XCHG 
EI_ATOMIC_XOR 
EI_BITSELECT 
EI_CBRT 
EI_CEIL 
EI_CLAMP 
EI_CLZ 
EI_COMMIT_READ_PIPE 
EI_COMMIT_WRITE_PIPE 
EI_COPYSIGN 
EI_COS 
EI_COSH 
EI_COSPI 
EI_CROSS 
EI_CTZ 
EI_DEGREES 
EI_DISTANCE 
EI_DIVIDE 
EI_DOT 
EI_ERF 
EI_ERFC 
EI_EXP 
EI_EXP10 
EI_EXP2 
EI_EXPM1 
EI_FABS 
EI_FAST_DISTANCE 
EI_FAST_LENGTH 
EI_FAST_NORMALIZE 
EI_FDIM 
EI_FLOOR 
EI_FMA 
EI_FMAX 
EI_FMIN 
EI_FMOD 
EI_FRACT 
EI_FREXP 
EI_GET_IMAGE_ARRAY_SIZE 
EI_GET_IMAGE_CHANNEL_DATA_TYPE 
EI_GET_IMAGE_CHANNEL_ORDER 
EI_GET_IMAGE_DIM 
EI_GET_IMAGE_HEIGHT 
EI_GET_IMAGE_WIDTH 
EI_GET_PIPE_MAX_PACKETS 
EI_GET_PIPE_NUM_PACKETS 
EI_HADD 
EI_HYPOT 
EI_ILOGB 
EI_ISEQUAL 
EI_ISFINITE 
EI_ISGREATER 
EI_ISGREATEREQUAL 
EI_ISINF 
EI_ISLESS 
EI_ISLESSEQUAL 
EI_ISLESSGREATER 
EI_ISNAN 
EI_ISNORMAL 
EI_ISNOTEQUAL 
EI_ISORDERED 
EI_ISUNORDERED 
EI_LDEXP 
EI_LENGTH 
EI_LGAMMA 
EI_LGAMMA_R 
EI_LOG 
EI_LOG10 
EI_LOG1P 
EI_LOG2 
EI_LOGB 
EI_MAD 
EI_MAD24 
EI_MAD_HI 
EI_MAD_SAT 
EI_MAX 
EI_MAXMAG 
EI_MIN 
EI_MINMAG 
EI_MIX 
EI_MODF 
EI_MUL24 
EI_MUL_HI 
EI_NAN 
EI_NEXTAFTER 
EI_NORMALIZE 
EI_POPCOUNT 
EI_POW 
EI_POWN 
EI_POWR 
EI_PREFETCH 
EI_RADIANS 
EI_RECIP 
EI_REMAINDER 
EI_REMQUO 
EI_RESERVE_READ_PIPE 
EI_RESERVE_WRITE_PIPE 
EI_RHADD 
EI_RINT 
EI_ROOTN 
EI_ROTATE 
EI_ROUND 
EI_RSQRT 
EI_SELECT 
EI_SHUFFLE 
EI_SHUFFLE2 
EI_SIGN 
EI_SIGNBIT 
EI_SIN 
EI_SINCOS 
EI_SINH 
EI_SINPI 
EI_SMOOTHSTEP 
EI_SQRT 
EI_STEP 
EI_SUB_GROUP_BROADCAST 
EI_SUB_GROUP_COMMIT_READ_PIPE 
EI_SUB_GROUP_COMMIT_WRITE_PIPE 
EI_SUB_GROUP_REDUCE_ADD 
EI_SUB_GROUP_REDUCE_MAX 
EI_SUB_GROUP_REDUCE_MIN 
EI_SUB_GROUP_RESERVE_READ_PIPE 
EI_SUB_GROUP_RESERVE_WRITE_PIPE 
EI_SUB_GROUP_SCAN_EXCLUSIVE_ADD 
EI_SUB_GROUP_SCAN_EXCLUSIVE_MAX 
EI_SUB_GROUP_SCAN_EXCLUSIVE_MIN 
EI_SUB_GROUP_SCAN_INCLUSIVE_ADD 
EI_SUB_GROUP_SCAN_INCLUSIVE_MAX 
EI_SUB_GROUP_SCAN_INCLUSIVE_MIN 
EI_SUB_SAT 
EI_TAN 
EI_TANH 
EI_TANPI 
EI_TGAMMA 
EI_TRUNC 
EI_UPSAMPLE 
EI_VEC_STEP 
EI_VSTORE 
EI_VSTORE16 
EI_VSTORE2 
EI_VSTORE3 
EI_VSTORE4 
EI_VSTORE8 
EI_WORK_GROUP_COMMIT_READ_PIPE 
EI_WORK_GROUP_COMMIT_WRITE_PIPE 
EI_WORK_GROUP_REDUCE_ADD 
EI_WORK_GROUP_REDUCE_MAX 
EI_WORK_GROUP_REDUCE_MIN 
EI_WORK_GROUP_RESERVE_READ_PIPE 
EI_WORK_GROUP_RESERVE_WRITE_PIPE 
EI_WORK_GROUP_SCAN_EXCLUSIVE_ADD 
EI_WORK_GROUP_SCAN_EXCLUSIVE_MAX 
EI_WORK_GROUP_SCAN_EXCLUSIVE_MIN 
EI_WORK_GROUP_SCAN_INCLUSIVE_ADD 
EI_WORK_GROUP_SCAN_INCLUSIVE_MAX 
EI_WORK_GROUP_SCAN_INCLUSIVE_MIN 
EI_WRITE_IMAGEF 
EI_WRITE_IMAGEI 
EI_WRITE_IMAGEUI 
EI_NCOS 
EI_NEXP2 
EI_NFMA 
EI_NLOG2 
EI_NRCP 
EI_NRSQRT 
EI_NSIN 
EI_NSQRT 
EI_FTZ 
EI_FLDEXP 
EI_CLASS 
EI_RCBRT 
EI_LAST_MANGLED 
EI_READ_PIPE_2 
EI_READ_PIPE_4 
EI_WRITE_PIPE_2 
EI_WRITE_PIPE_4 
EX_INTRINSICS_COUNT 

Definition at line 23 of file AMDGPULibFunc.h.

◆ ENamePrefix

Enumerator
NOPFX 
NATIVE 
HALF 

Definition at line 246 of file AMDGPULibFunc.h.

◆ EPtrKind

Enumerator
BYVALUE 
ADDR_SPACE 
CONST 
VOLATILE 

Definition at line 284 of file AMDGPULibFunc.h.

◆ EType

Enumerator
B8 
B16 
B32 
B64 
SIZE_MASK 
FLOAT 
INT 
UINT 
BASE_TYPE_MASK 
U8 
U16 
U32 
U64 
I8 
I16 
I32 
I64 
F16 
F32 
F64 
IMG1DA 
IMG1DB 
IMG2DA 
IMG1D 
IMG2D 
IMG3D 
SAMPLER 
EVENT 
DUMMY 

Definition at line 252 of file AMDGPULibFunc.h.

Member Function Documentation

◆ getAddrSpaceFromEPtrKind()

static unsigned llvm::AMDGPULibFuncBase::getAddrSpaceFromEPtrKind ( unsigned  Kind)
inlinestatic

Definition at line 317 of file AMDGPULibFunc.h.

References ADDR_SPACE, and assert().

Referenced by getItaniumTypeName().

◆ getEPtrKindFromAddrSpace()

static unsigned llvm::AMDGPULibFuncBase::getEPtrKindFromAddrSpace ( unsigned  AS)
inlinestatic

Definition at line 312 of file AMDGPULibFunc.h.

References ADDR_SPACE, and assert().

Referenced by llvm::log2(), and parseNamePrefix().

◆ isMangled()

static bool llvm::AMDGPULibFuncBase::isMangled ( EFuncId  Id)
inlinestatic

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