php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
ir_builder.h File Reference

Go to the source code of this file.

Macros

#define _ir_CTX   ctx
 
#define ir_NOP()
 
#define ir_CONST_BOOL(_val)
 
#define ir_CONST_U8(_val)
 
#define ir_CONST_U16(_val)
 
#define ir_CONST_U32(_val)
 
#define ir_CONST_U64(_val)
 
#define ir_CONST_ADDR(_val)
 
#define ir_CONST_CHAR(_val)
 
#define ir_CONST_I8(_val)
 
#define ir_CONST_I16(_val)
 
#define ir_CONST_I32(_val)
 
#define ir_CONST_I64(_val)
 
#define ir_CONST_DOUBLE(_val)
 
#define ir_CONST_FLOAT(_val)
 
#define ir_CMP_OP(_op, _op1, _op2)
 
#define ir_UNARY_OP(_op, _type, _op1)
 
#define ir_UNARY_OP_B(_op, _op1)
 
#define ir_UNARY_OP_U8(_op, _op1)
 
#define ir_UNARY_OP_U16(_op, _op1)
 
#define ir_UNARY_OP_U32(_op, _op1)
 
#define ir_UNARY_OP_U64(_op, _op1)
 
#define ir_UNARY_OP_A(_op, _op1)
 
#define ir_UNARY_OP_C(_op, _op1)
 
#define ir_UNARY_OP_I8(_op, _op1)
 
#define ir_UNARY_OP_I16(_op, _op1)
 
#define ir_UNARY_OP_I32(_op, _op1)
 
#define ir_UNARY_OP_I64(_op, _op1)
 
#define ir_UNARY_OP_D(_op, _op1)
 
#define ir_UNARY_OP_F(_op, _op1)
 
#define ir_BINARY_OP(_op, _t, _op1, _op2)
 
#define ir_BINARY_OP_B(_op, _op1, _op2)
 
#define ir_BINARY_OP_U8(_op, _op1, _op2)
 
#define ir_BINARY_OP_U16(_op, _op1, _op2)
 
#define ir_BINARY_OP_U32(_op, _op1, _op2)
 
#define ir_BINARY_OP_U64(_op, _op1, _op2)
 
#define ir_BINARY_OP_A(_op, _op1, _op2)
 
#define ir_BINARY_OP_C(_op, _op1, _op2)
 
#define ir_BINARY_OP_I8(_op, _op1, _op2)
 
#define ir_BINARY_OP_I16(_op, _op1, _op2)
 
#define ir_BINARY_OP_I32(_op, _op1, _op2)
 
#define ir_BINARY_OP_I64(_op, _op1, _op2)
 
#define ir_BINARY_OP_D(_op, _op1, _op2)
 
#define ir_BINARY_OP_F(_op, _op1, _op2)
 
#define ir_EQ(_op1, _op2)
 
#define ir_NE(_op1, _op2)
 
#define ir_LT(_op1, _op2)
 
#define ir_GE(_op1, _op2)
 
#define ir_LE(_op1, _op2)
 
#define ir_GT(_op1, _op2)
 
#define ir_ULT(_op1, _op2)
 
#define ir_UGE(_op1, _op2)
 
#define ir_ULE(_op1, _op2)
 
#define ir_UGT(_op1, _op2)
 
#define ir_ADD(_type, _op1, _op2)
 
#define ir_ADD_U8(_op1, _op2)
 
#define ir_ADD_U16(_op1, _op2)
 
#define ir_ADD_U32(_op1, _op2)
 
#define ir_ADD_U64(_op1, _op2)
 
#define ir_ADD_A(_op1, _op2)
 
#define ir_ADD_C(_op1, _op2)
 
#define ir_ADD_I8(_op1, _op2)
 
#define ir_ADD_I16(_op1, _op2)
 
#define ir_ADD_I32(_op1, _op2)
 
#define ir_ADD_I64(_op1, _op2)
 
#define ir_ADD_D(_op1, _op2)
 
#define ir_ADD_F(_op1, _op2)
 
#define ir_SUB(_type, _op1, _op2)
 
#define ir_SUB_U8(_op1, _op2)
 
#define ir_SUB_U16(_op1, _op2)
 
#define ir_SUB_U32(_op1, _op2)
 
#define ir_SUB_U64(_op1, _op2)
 
#define ir_SUB_A(_op1, _op2)
 
#define ir_SUB_C(_op1, _op2)
 
#define ir_SUB_I8(_op1, _op2)
 
#define ir_SUB_I16(_op1, _op2)
 
#define ir_SUB_I32(_op1, _op2)
 
#define ir_SUB_I64(_op1, _op2)
 
#define ir_SUB_D(_op1, _op2)
 
#define ir_SUB_F(_op1, _op2)
 
#define ir_MUL(_type, _op1, _op2)
 
#define ir_MUL_U8(_op1, _op2)
 
#define ir_MUL_U16(_op1, _op2)
 
#define ir_MUL_U32(_op1, _op2)
 
#define ir_MUL_U64(_op1, _op2)
 
#define ir_MUL_A(_op1, _op2)
 
#define ir_MUL_C(_op1, _op2)
 
#define ir_NUL_I8(_op1, _op2)
 
#define ir_MUL_I16(_op1, _op2)
 
#define ir_MUL_I32(_op1, _op2)
 
#define ir_MUL_I64(_op1, _op2)
 
#define ir_MUL_D(_op1, _op2)
 
#define ir_MUL_F(_op1, _op2)
 
#define ir_DIV(_type, _op1, _op2)
 
#define ir_DIV_U8(_op1, _op2)
 
#define ir_DIV_U16(_op1, _op2)
 
#define ir_DIV_U32(_op1, _op2)
 
#define ir_DIV_U64(_op1, _op2)
 
#define ir_DIV_A(_op1, _op2)
 
#define ir_DIV_C(_op1, _op2)
 
#define ir_DIV_I8(_op1, _op2)
 
#define ir_DIV_I16(_op1, _op2)
 
#define ir_DIV_I32(_op1, _op2)
 
#define ir_DIV_I64(_op1, _op2)
 
#define ir_DIV_D(_op1, _op2)
 
#define ir_DIV_F(_op1, _op2)
 
#define ir_MOD(_type, _op1, _op2)
 
#define ir_MOD_U8(_op1, _op2)
 
#define ir_MOD_U16(_op1, _op2)
 
#define ir_MOD_U32(_op1, _op2)
 
#define ir_MOD_U64(_op1, _op2)
 
#define ir_MOD_A(_op1, _op2)
 
#define ir_MOD_C(_op1, _op2)
 
#define ir_MOD_I8(_op1, _op2)
 
#define ir_MOD_I16(_op1, _op2)
 
#define ir_MOD_I32(_op1, _op2)
 
#define ir_MOD_I64(_op1, _op2)
 
#define ir_NEG(_type, _op1)
 
#define ir_NEG_C(_op1)
 
#define ir_NEG_I8(_op1)
 
#define ir_NEG_I16(_op1)
 
#define ir_NEG_I32(_op1)
 
#define ir_NEG_I64(_op1)
 
#define ir_NEG_D(_op1)
 
#define ir_NEG_F(_op1)
 
#define ir_ABS(_type, _op1)
 
#define ir_ABS_C(_op1)
 
#define ir_ABS_I8(_op1)
 
#define ir_ABS_I16(_op1)
 
#define ir_ABS_I32(_op1)
 
#define ir_ABS_I64(_op1)
 
#define ir_ABS_D(_op1)
 
#define ir_ABS_F(_op1)
 
#define ir_SEXT(_type, _op1)
 
#define ir_SEXT_U8(_op1)
 
#define ir_SEXT_U16(_op1)
 
#define ir_SEXT_U32(_op1)
 
#define ir_SEXT_U64(_op1)
 
#define ir_SEXT_A(_op1)
 
#define ir_SEXT_C(_op1)
 
#define ir_SEXT_I8(_op1)
 
#define ir_SEXT_I16(_op1)
 
#define ir_SEXT_I32(_op1)
 
#define ir_SEXT_I64(_op1)
 
#define ir_ZEXT(_type, _op1)
 
#define ir_ZEXT_U8(_op1)
 
#define ir_ZEXT_U16(_op1)
 
#define ir_ZEXT_U32(_op1)
 
#define ir_ZEXT_U64(_op1)
 
#define ir_ZEXT_A(_op1)
 
#define ir_ZEXT_C(_op1)
 
#define ir_ZEXT_I8(_op1)
 
#define ir_ZEXT_I16(_op1)
 
#define ir_ZEXT_I32(_op1)
 
#define ir_ZEXT_I64(_op1)
 
#define ir_TRUNC(_type, _op1)
 
#define ir_TRUNC_U8(_op1)
 
#define ir_TRUNC_U16(_op1)
 
#define ir_TRUNC_U32(_op1)
 
#define ir_TRUNC_U64(_op1)
 
#define ir_TRUNC_A(_op1)
 
#define ir_TRUNC_C(_op1)
 
#define ir_TRUNC_I8(_op1)
 
#define ir_TRUNC_I16(_op1)
 
#define ir_TRUNC_I32(_op1)
 
#define ir_TRUNC_I64(_op1)
 
#define ir_BITCAST(_type, _op1)
 
#define ir_BITCAST_U8(_op1)
 
#define ir_BITCAST_U16(_op1)
 
#define ir_BITCAST_U32(_op1)
 
#define ir_BITCAST_U64(_op1)
 
#define ir_BITCAST_A(_op1)
 
#define ir_BITCAST_C(_op1)
 
#define ir_BITCAST_I8(_op1)
 
#define ir_BITCAST_I16(_op1)
 
#define ir_BITCAST_I32(_op1)
 
#define ir_BITCAST_I64(_op1)
 
#define ir_BITCAST_D(_op1)
 
#define ir_BITCAST_F(_op1)
 
#define ir_INT2FP(_type, _op1)
 
#define ir_INT2D(_op1)
 
#define ir_INT2F(_op1)
 
#define ir_FP2INT(_type, _op1)
 
#define ir_FP2U8(_op1)
 
#define ir_FP2U16(_op1)
 
#define ir_FP2U32(_op1)
 
#define ir_FP2U64(_op1)
 
#define ir_FP2I8(_op1)
 
#define ir_FP2I16(_op1)
 
#define ir_FP2I32(_op1)
 
#define ir_FP2I64(_op1)
 
#define ir_FP2FP(_type, _op1)
 
#define ir_F2D(_op1)
 
#define ir_D2F(_op1)
 
#define ir_ADD_OV(_type, _op1, _op2)
 
#define ir_ADD_OV_U8(_op1, _op2)
 
#define ir_ADD_OV_U16(_op1, _op2)
 
#define ir_ADD_OV_U32(_op1, _op2)
 
#define ir_ADD_OV_U64(_op1, _op2)
 
#define ir_ADD_OV_A(_op1, _op2)
 
#define ir_ADD_OV_C(_op1, _op2)
 
#define ir_ADD_OV_I8(_op1, _op2)
 
#define ir_ADD_OV_I16(_op1, _op2)
 
#define ir_ADD_OV_I32(_op1, _op2)
 
#define ir_ADD_OV_I64(_op1, _op2)
 
#define ir_SUB_OV(_type, _op1, _op2)
 
#define ir_SUB_OV_U8(_op1, _op2)
 
#define ir_SUB_OV_U16(_op1, _op2)
 
#define ir_SUB_OV_U32(_op1, _op2)
 
#define ir_SUB_OV_U64(_op1, _op2)
 
#define ir_SUB_OV_A(_op1, _op2)
 
#define ir_SUB_OV_C(_op1, _op2)
 
#define ir_SUB_OV_I8(_op1, _op2)
 
#define ir_SUB_OV_I16(_op1, _op2)
 
#define ir_SUB_OV_I32(_op1, _op2)
 
#define ir_SUB_OV_I64(_op1, _op2)
 
#define ir_MUL_OV(_type, _op1, _op2)
 
#define ir_MUL_OV_U8(_op1, _op2)
 
#define ir_MUL_OV_U16(_op1, _op2)
 
#define ir_MUL_OV_U32(_op1, _op2)
 
#define ir_MUL_OV_U64(_op1, _op2)
 
#define ir_MUL_OV_A(_op1, _op2)
 
#define ir_MUL_OV_C(_op1, _op2)
 
#define ir_MUL_OV_I8(_op1, _op2)
 
#define ir_MUL_OV_I16(_op1, _op2)
 
#define ir_MUL_OV_I32(_op1, _op2)
 
#define ir_MUL_OV_I64(_op1, _op2)
 
#define ir_OVERFLOW(_op1)
 
#define ir_NOT(_type, _op1)
 
#define ir_NOT_B(_op1)
 
#define ir_NOT_U8(_op1)
 
#define ir_NOT_U16(_op1)
 
#define ir_NOT_U32(_op1)
 
#define ir_NOT_U64(_op1)
 
#define ir_NOT_A(_op1)
 
#define ir_NOT_C(_op1)
 
#define ir_NOT_I8(_op1)
 
#define ir_NOT_I16(_op1)
 
#define ir_NOT_I32(_op1)
 
#define ir_NOT_I64(_op1)
 
#define ir_OR(_type, _op1, _op2)
 
#define ir_OR_B(_op1, _op2)
 
#define ir_OR_U8(_op1, _op2)
 
#define ir_OR_U16(_op1, _op2)
 
#define ir_OR_U32(_op1, _op2)
 
#define ir_OR_U64(_op1, _op2)
 
#define ir_OR_A(_op1, _op2)
 
#define ir_OR_C(_op1, _op2)
 
#define ir_OR_I8(_op1, _op2)
 
#define ir_OR_I16(_op1, _op2)
 
#define ir_OR_I32(_op1, _op2)
 
#define ir_OR_I64(_op1, _op2)
 
#define ir_AND(_type, _op1, _op2)
 
#define ir_AND_B(_op1, _op2)
 
#define ir_AND_U8(_op1, _op2)
 
#define ir_AND_U16(_op1, _op2)
 
#define ir_AND_U32(_op1, _op2)
 
#define ir_AND_U64(_op1, _op2)
 
#define ir_AND_A(_op1, _op2)
 
#define ir_AND_C(_op1, _op2)
 
#define ir_AND_I8(_op1, _op2)
 
#define ir_AND_I16(_op1, _op2)
 
#define ir_AND_I32(_op1, _op2)
 
#define ir_AND_I64(_op1, _op2)
 
#define ir_XOR(_type, _op1, _op2)
 
#define ir_XOR_B(_op1, _op2)
 
#define ir_XOR_U8(_op1, _op2)
 
#define ir_XOR_U16(_op1, _op2)
 
#define ir_XOR_U32(_op1, _op2)
 
#define ir_XOR_U64(_op1, _op2)
 
#define ir_XOR_A(_op1, _op2)
 
#define ir_XOR_C(_op1, _op2)
 
#define ir_XOR_I8(_op1, _op2)
 
#define ir_XOR_I16(_op1, _op2)
 
#define ir_XOR_I32(_op1, _op2)
 
#define ir_XOR_I64(_op1, _op2)
 
#define ir_SHL(_type, _op1, _op2)
 
#define ir_SHL_U8(_op1, _op2)
 
#define ir_SHL_U16(_op1, _op2)
 
#define ir_SHL_U32(_op1, _op2)
 
#define ir_SHL_U64(_op1, _op2)
 
#define ir_SHL_A(_op1, _op2)
 
#define ir_SHL_C(_op1, _op2)
 
#define ir_SHL_I8(_op1, _op2)
 
#define ir_SHL_I16(_op1, _op2)
 
#define ir_SHL_I32(_op1, _op2)
 
#define ir_SHL_I64(_op1, _op2)
 
#define ir_SHR(_type, _op1, _op2)
 
#define ir_SHR_U8(_op1, _op2)
 
#define ir_SHR_U16(_op1, _op2)
 
#define ir_SHR_U32(_op1, _op2)
 
#define ir_SHR_U64(_op1, _op2)
 
#define ir_SHR_A(_op1, _op2)
 
#define ir_SHR_C(_op1, _op2)
 
#define ir_SHR_I8(_op1, _op2)
 
#define ir_SHR_I16(_op1, _op2)
 
#define ir_SHR_I32(_op1, _op2)
 
#define ir_SHR_I64(_op1, _op2)
 
#define ir_SAR(_type, _op1, _op2)
 
#define ir_SAR_U8(_op1, _op2)
 
#define ir_SAR_U16(_op1, _op2)
 
#define ir_SAR_U32(_op1, _op2)
 
#define ir_SAR_U64(_op1, _op2)
 
#define ir_SAR_A(_op1, _op2)
 
#define ir_SAR_C(_op1, _op2)
 
#define ir_SAR_I8(_op1, _op2)
 
#define ir_SAR_I16(_op1, _op2)
 
#define ir_SAR_I32(_op1, _op2)
 
#define ir_SAR_I64(_op1, _op2)
 
#define ir_ROL(_type, _op1, _op2)
 
#define ir_ROL_U8(_op1, _op2)
 
#define ir_ROL_U16(_op1, _op2)
 
#define ir_ROL_U32(_op1, _op2)
 
#define ir_ROL_U64(_op1, _op2)
 
#define ir_ROL_A(_op1, _op2)
 
#define ir_ROL_C(_op1, _op2)
 
#define ir_ROL_I8(_op1, _op2)
 
#define ir_ROL_I16(_op1, _op2)
 
#define ir_ROL_I32(_op1, _op2)
 
#define ir_ROL_I64(_op1, _op2)
 
#define ir_ROR(_type, _op1, _op2)
 
#define ir_ROR_U8(_op1, _op2)
 
#define ir_ROR_U16(_op1, _op2)
 
#define ir_ROR_U32(_op1, _op2)
 
#define ir_ROR_U64(_op1, _op2)
 
#define ir_ROR_A(_op1, _op2)
 
#define ir_ROR_C(_op1, _op2)
 
#define ir_ROR_I8(_op1, _op2)
 
#define ir_ROR_I16(_op1, _op2)
 
#define ir_ROR_I32(_op1, _op2)
 
#define ir_ROR_I64(_op1, _op2)
 
#define ir_BSWAP(_type, _op1)
 
#define ir_BSWAP_U16(_op1)
 
#define ir_BSWAP_U32(_op1)
 
#define ir_BSWAP_U64(_op1)
 
#define ir_BSWAP_A(_op1)
 
#define ir_BSWAP_I16(_op1)
 
#define ir_BSWAP_I32(_op1)
 
#define ir_BSWAP_I64(_op1)
 
#define ir_CTPOP(_type, _op1)
 
#define ir_CTPOP_8(_op1)
 
#define ir_CTPOP_U16(_op1)
 
#define ir_CTPOP_U32(_op1)
 
#define ir_CTPOP_U64(_op1)
 
#define ir_CTPOP_A(_op1)
 
#define ir_CTPOP_C(_op1)
 
#define ir_CTPOP_I8(_op1)
 
#define ir_CTPOP_I16(_op1)
 
#define ir_CTPOP_I32(_op1)
 
#define ir_CTPOP_I64(_op1)
 
#define ir_CTLZ(_type, _op1)
 
#define ir_CTLZ_8(_op1)
 
#define ir_CTLZ_U16(_op1)
 
#define ir_CTLZ_U32(_op1)
 
#define ir_CTLZ_U64(_op1)
 
#define ir_CTLZ_A(_op1)
 
#define ir_CTLZ_C(_op1)
 
#define ir_CTLZ_I8(_op1)
 
#define ir_CTLZ_I16(_op1)
 
#define ir_CTLZ_I32(_op1)
 
#define ir_CTLZ_I64(_op1)
 
#define ir_CTTZ(_type, _op1)
 
#define ir_CTTZ_8(_op1)
 
#define ir_CTTZ_U16(_op1)
 
#define ir_CTTZ_U32(_op1)
 
#define ir_CTTZ_U64(_op1)
 
#define ir_CTTZ_A(_op1)
 
#define ir_CTTZ_C(_op1)
 
#define ir_CTTZ_I8(_op1)
 
#define ir_CTTZ_I16(_op1)
 
#define ir_CTTZ_I32(_op1)
 
#define ir_CTTZ_I64(_op1)
 
#define ir_MIN(_type, _op1, _op2)
 
#define ir_MIN_U8(_op1, _op2)
 
#define ir_MIN_U16(_op1, _op2)
 
#define ir_MIN_U32(_op1, _op2)
 
#define ir_MIN_U64(_op1, _op2)
 
#define ir_MIN_A(_op1, _op2)
 
#define ir_MIN_C(_op1, _op2)
 
#define ir_MIN_I8(_op1, _op2)
 
#define ir_MIN_I16(_op1, _op2)
 
#define ir_MIN_I32(_op1, _op2)
 
#define ir_MIN_I64(_op1, _op2)
 
#define ir_MIN_D(_op1, _op2)
 
#define ir_MIN_F(_op1, _op2)
 
#define ir_MAX(_type, _op1, _op2)
 
#define ir_MAX_U8(_op1, _op2)
 
#define ir_MAX_U16(_op1, _op2)
 
#define ir_MAX_U32(_op1, _op2)
 
#define ir_MAX_U64(_op1, _op2)
 
#define ir_MAX_A(_op1, _op2)
 
#define ir_MAX_C(_op1, _op2)
 
#define ir_MAX_I8(_op1, _op2)
 
#define ir_MAX_I16(_op1, _op2)
 
#define ir_MAX_I32(_op1, _op2)
 
#define ir_MAX_I64(_op1, _op2)
 
#define ir_MAX_D(_op1, _op2)
 
#define ir_MAX_F(_op1, _op2)
 
#define ir_COND(_type, _op1, _op2, _op3)
 
#define ir_COND_U8(_op1, _op2, _op3)
 
#define ir_COND_U16(_op1, _op2, _op3)
 
#define ir_COND_U32(_op1, _op2, _op3)
 
#define ir_COND_U64(_op1, _op2, _op3)
 
#define ir_COND_A(_op1, _op2, _op3)
 
#define ir_COND_C(_op1, _op2, _op3)
 
#define ir_COND_I8(_op1, _op2, _op3)
 
#define ir_COND_I16(_op1, _op2, _op3)
 
#define ir_COND_I32(_op1, _op2, _op3)
 
#define ir_COND_I64(_op1, _op2, _op3)
 
#define ir_COND_D(_op1, _op2, _op3)
 
#define ir_COND_F(_op1, _op2, _op3)
 
#define ir_PHI_2(type, _src1, _src2)
 
#define ir_PHI_N(type, _n, _inputs)
 
#define ir_PHI_SET_OP(_ref, _pos, _src)
 
#define ir_COPY(_type, _op1)
 
#define ir_COPY_B(_op1)
 
#define ir_COPY_U8(_op1)
 
#define ir_COPY_U16(_op1)
 
#define ir_COPY_U32(_op1)
 
#define ir_COPY_U64(_op1)
 
#define ir_COPY_A(_op1)
 
#define ir_COPY_C(_op1)
 
#define ir_COPY_I8(_op1)
 
#define ir_COPY_I16(_op1)
 
#define ir_COPY_I32(_op1)
 
#define ir_COPY_I64(_op1)
 
#define ir_COPY_D(_op1)
 
#define ir_COPY_F(_op1)
 
#define ir_ADD_OFFSET(_addr, _offset)
 
#define ir_HARD_COPY(_type, _op1)
 
#define ir_HARD_COPY_B(_op1)
 
#define ir_HARD_COPY_U8(_op1)
 
#define ir_HARD_COPY_U16(_op1)
 
#define ir_HARD_COPY_U32(_op1)
 
#define ir_HARD_COPY_U64(_op1)
 
#define ir_HARD_COPY_A(_op1)
 
#define ir_HARD_COPY_C(_op1)
 
#define ir_HARD_COPY_I8(_op1)
 
#define ir_HARD_COPY_I16(_op1)
 
#define ir_HARD_COPY_I32(_op1)
 
#define ir_HARD_COPY_I64(_op1)
 
#define ir_HARD_COPY_D(_op1)
 
#define ir_HARD_COPY_F(_op1)
 
#define ir_PARAM(_type, _name, _num)
 
#define ir_VAR(_type, _name)
 
#define ir_CALL(type, func)
 
#define ir_CALL_1(type, func, a1)
 
#define ir_CALL_2(type, func, a1, a2)
 
#define ir_CALL_3(type, func, a1, a2, a3)
 
#define ir_CALL_4(type, func, a1, a2, a3, a4)
 
#define ir_CALL_5(type, func, a1, a2, a3, a4, a5)
 
#define ir_CALL_6(type, func, a, b, c, d, e, f)
 
#define ir_CALL_N(type, func, count, args)
 
#define ir_TAILCALL(type, func)
 
#define ir_TAILCALL_1(type, func, a1)
 
#define ir_TAILCALL_2(type, func, a1, a2)
 
#define ir_TAILCALL_3(type, func, a1, a2, a3)
 
#define ir_TAILCALL_4(type, func, a1, a2, a3, a4)
 
#define ir_TAILCALL_5(type, func, a1, a2, a3, a4, a5)
 
#define ir_TAILCALL_6(type, func, a, b, c, d, e, f)
 
#define ir_TAILCALL_N(type, func, count, args)
 
#define ir_ALLOCA(_size)
 
#define ir_AFREE(_size)
 
#define ir_VADDR(_var)
 
#define ir_VLOAD(_type, _var)
 
#define ir_VLOAD_B(_var)
 
#define ir_VLOAD_U8(_var)
 
#define ir_VLOAD_U16(_var)
 
#define ir_VLOAD_U32(_var)
 
#define ir_VLOAD_U64(_var)
 
#define ir_VLOAD_A(_var)
 
#define ir_VLOAD_C(_var)
 
#define ir_VLOAD_I8(_var)
 
#define ir_VLOAD_I16(_var)
 
#define ir_VLOAD_I32(_var)
 
#define ir_VLOAD_I64(_var)
 
#define ir_VLOAD_D(_var)
 
#define ir_VLOAD_F(_var)
 
#define ir_VSTORE(_var, _val)
 
#define ir_RLOAD(_type, _reg)
 
#define ir_RLOAD_B(_reg)
 
#define ir_RLOAD_U8(_reg)
 
#define ir_RLOAD_U16(_reg)
 
#define ir_RLOAD_U32(_reg)
 
#define ir_RLOAD_U64(_reg)
 
#define ir_RLOAD_A(_reg)
 
#define ir_RLOAD_C(_reg)
 
#define ir_RLOAD_I8(_reg)
 
#define ir_RLOAD_I16(_reg)
 
#define ir_RLOAD_I32(_reg)
 
#define ir_RLOAD_I64(_reg)
 
#define ir_RLOAD_D(_reg)
 
#define ir_RLOAD_F(_reg)
 
#define ir_RSTORE(_reg, _val)
 
#define ir_LOAD(_type, _addr)
 
#define ir_LOAD_B(_addr)
 
#define ir_LOAD_U8(_addr)
 
#define ir_LOAD_U16(_addr)
 
#define ir_LOAD_U32(_addr)
 
#define ir_LOAD_U64(_addr)
 
#define ir_LOAD_A(_addr)
 
#define ir_LOAD_C(_addr)
 
#define ir_LOAD_I8(_addr)
 
#define ir_LOAD_I16(_addr)
 
#define ir_LOAD_I32(_addr)
 
#define ir_LOAD_I64(_addr)
 
#define ir_LOAD_D(_addr)
 
#define ir_LOAD_F(_addr)
 
#define ir_STORE(_addr, _val)
 
#define ir_TLS(_index, _offset)
 
#define ir_TRAP()
 
#define ir_FRAME_ADDR()
 
#define ir_BLOCK_BEGIN()
 
#define ir_BLOCK_END(_val)
 
#define ir_VA_START(_list)
 
#define ir_VA_END(_list)
 
#define ir_VA_COPY(_dst, _src)
 
#define ir_VA_ARG(_list, _type)
 
#define ir_START()
 
#define ir_ENTRY(_src, _num)
 
#define ir_BEGIN(_src)
 
#define ir_IF(_condition)
 
#define ir_IF_TRUE(_if)
 
#define ir_IF_TRUE_cold(_if)
 
#define ir_IF_FALSE(_if)
 
#define ir_IF_FALSE_cold(_if)
 
#define ir_END()
 
#define ir_MERGE_2(_src1, _src2)
 
#define ir_MERGE_N(_n, _inputs)
 
#define ir_MERGE_SET_OP(_ref, _pos, _src)
 
#define ir_LOOP_BEGIN(_src1)
 
#define ir_LOOP_END()
 
#define ir_SWITCH(_val)
 
#define ir_CASE_VAL(_switch, _val)
 
#define ir_CASE_DEFAULT(_switch)
 
#define ir_RETURN(_val)
 
#define ir_IJMP(_addr)
 
#define ir_UNREACHABLE()
 
#define ir_GUARD(_condition, _addr)
 
#define ir_GUARD_NOT(_condition, _addr)
 
#define ir_SNAPSHOT(_n)
 
#define ir_SNAPSHOT_SET_OP(_s, _pos, _v)
 
#define ir_EXITCALL(_func)
 
#define ir_END_list(_list)
 
#define ir_MERGE_list(_list)
 
#define ir_END_PHI_list(_list, _val)
 
#define ir_PHI_list(_list)
 
#define ir_MERGE_WITH(_src2)
 
#define ir_MERGE_WITH_EMPTY_TRUE(_if)
 
#define ir_MERGE_WITH_EMPTY_FALSE(_if)
 

Functions

ir_ref _ir_ADD_OFFSET (ir_ctx *ctx, ir_ref addr, uintptr_t offset)
 
ir_ref _ir_PHI_2 (ir_ctx *ctx, ir_type type, ir_ref src1, ir_ref src2)
 
ir_ref _ir_PHI_N (ir_ctx *ctx, ir_type type, ir_ref n, ir_ref *inputs)
 
void _ir_PHI_SET_OP (ir_ctx *ctx, ir_ref phi, ir_ref pos, ir_ref src)
 
ir_ref _ir_PARAM (ir_ctx *ctx, ir_type type, const char *name, ir_ref num)
 
ir_ref _ir_VAR (ir_ctx *ctx, ir_type type, const char *name)
 
ir_ref _ir_CALL (ir_ctx *ctx, ir_type type, ir_ref func)
 
ir_ref _ir_CALL_1 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1)
 
ir_ref _ir_CALL_2 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2)
 
ir_ref _ir_CALL_3 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3)
 
ir_ref _ir_CALL_4 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4)
 
ir_ref _ir_CALL_5 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4, ir_ref arg5)
 
ir_ref _ir_CALL_6 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4, ir_ref arg5, ir_ref atg6)
 
ir_ref _ir_CALL_N (ir_ctx *ctx, ir_type type, ir_ref func, uint32_t count, ir_ref *args)
 
void _ir_TAILCALL (ir_ctx *ctx, ir_type type, ir_ref func)
 
void _ir_TAILCALL_1 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1)
 
void _ir_TAILCALL_2 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2)
 
void _ir_TAILCALL_3 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3)
 
void _ir_TAILCALL_4 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4)
 
void _ir_TAILCALL_5 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4, ir_ref arg5)
 
void _ir_TAILCALL_6 (ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4, ir_ref arg5, ir_ref arg6)
 
ir_ref _ir_TAILCALL_N (ir_ctx *ctx, ir_type type, ir_ref func, uint32_t count, ir_ref *args)
 
ir_ref _ir_ALLOCA (ir_ctx *ctx, ir_ref size)
 
void _ir_AFREE (ir_ctx *ctx, ir_ref size)
 
ir_ref _ir_VLOAD (ir_ctx *ctx, ir_type type, ir_ref var)
 
void _ir_VSTORE (ir_ctx *ctx, ir_ref var, ir_ref val)
 
ir_ref _ir_RLOAD (ir_ctx *ctx, ir_type type, ir_ref reg)
 
void _ir_RSTORE (ir_ctx *ctx, ir_ref reg, ir_ref val)
 
ir_ref _ir_LOAD (ir_ctx *ctx, ir_type type, ir_ref addr)
 
void _ir_STORE (ir_ctx *ctx, ir_ref addr, ir_ref val)
 
void _ir_VA_START (ir_ctx *ctx, ir_ref list)
 
void _ir_VA_END (ir_ctx *ctx, ir_ref list)
 
void _ir_VA_COPY (ir_ctx *ctx, ir_ref dst, ir_ref src)
 
ir_ref _ir_VA_ARG (ir_ctx *ctx, ir_type type, ir_ref list)
 
void _ir_START (ir_ctx *ctx)
 
void _ir_ENTRY (ir_ctx *ctx, ir_ref src, ir_ref num)
 
void _ir_BEGIN (ir_ctx *ctx, ir_ref src)
 
ir_ref _ir_END (ir_ctx *ctx)
 
ir_ref _ir_END_LIST (ir_ctx *ctx, ir_ref list)
 
ir_ref _ir_END_PHI_LIST (ir_ctx *ctx, ir_ref list, ir_ref val)
 
ir_ref _ir_IF (ir_ctx *ctx, ir_ref condition)
 
void _ir_IF_TRUE (ir_ctx *ctx, ir_ref if_ref)
 
void _ir_IF_TRUE_cold (ir_ctx *ctx, ir_ref if_ref)
 
void _ir_IF_FALSE (ir_ctx *ctx, ir_ref if_ref)
 
void _ir_IF_FALSE_cold (ir_ctx *ctx, ir_ref if_ref)
 
void _ir_MERGE_2 (ir_ctx *ctx, ir_ref src1, ir_ref src2)
 
void _ir_MERGE_N (ir_ctx *ctx, ir_ref n, ir_ref *inputs)
 
void _ir_MERGE_SET_OP (ir_ctx *ctx, ir_ref merge, ir_ref pos, ir_ref src)
 
void _ir_MERGE_LIST (ir_ctx *ctx, ir_ref list)
 
ir_ref _ir_PHI_LIST (ir_ctx *ctx, ir_ref list)
 
ir_ref _ir_LOOP_BEGIN (ir_ctx *ctx, ir_ref src1)
 
ir_ref _ir_LOOP_END (ir_ctx *ctx)
 
ir_ref _ir_TLS (ir_ctx *ctx, ir_ref index, ir_ref offset)
 
void _ir_UNREACHABLE (ir_ctx *ctx)
 
ir_ref _ir_SWITCH (ir_ctx *ctx, ir_ref val)
 
void _ir_CASE_VAL (ir_ctx *ctx, ir_ref switch_ref, ir_ref val)
 
void _ir_CASE_DEFAULT (ir_ctx *ctx, ir_ref switch_ref)
 
void _ir_RETURN (ir_ctx *ctx, ir_ref val)
 
void _ir_IJMP (ir_ctx *ctx, ir_ref addr)
 
void _ir_GUARD (ir_ctx *ctx, ir_ref condition, ir_ref addr)
 
void _ir_GUARD_NOT (ir_ctx *ctx, ir_ref condition, ir_ref addr)
 
ir_ref _ir_BLOCK_BEGIN (ir_ctx *ctx)
 
ir_ref _ir_SNAPSHOT (ir_ctx *ctx, ir_ref n)
 
void _ir_SNAPSHOT_SET_OP (ir_ctx *ctx, ir_ref snapshot, ir_ref pos, ir_ref val)
 
ir_ref _ir_EXITCALL (ir_ctx *ctx, ir_ref func)
 

Macro Definition Documentation

◆ _ir_CTX

#define _ir_CTX   ctx

Definition at line 16 of file ir_builder.h.

◆ ir_ABS

#define ir_ABS ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_ABS, (_type), (_op1))
#define ir_UNARY_OP(_op, _type, _op1)
Definition ir_builder.h:36

Definition at line 156 of file ir_builder.h.

◆ ir_ABS_C

#define ir_ABS_C ( _op1)
Value:
ir_UNARY_OP_C(IR_ABS, (_op1))
#define ir_UNARY_OP_C(_op, _op1)
Definition ir_builder.h:43

Definition at line 157 of file ir_builder.h.

◆ ir_ABS_D

#define ir_ABS_D ( _op1)
Value:
ir_UNARY_OP_D(IR_ABS, (_op1))
#define ir_UNARY_OP_D(_op, _op1)
Definition ir_builder.h:48

Definition at line 162 of file ir_builder.h.

◆ ir_ABS_F

#define ir_ABS_F ( _op1)
Value:
ir_UNARY_OP_F(IR_ABS, (_op1))
#define ir_UNARY_OP_F(_op, _op1)
Definition ir_builder.h:49

Definition at line 163 of file ir_builder.h.

◆ ir_ABS_I16

#define ir_ABS_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_ABS, (_op1))
#define ir_UNARY_OP_I16(_op, _op1)
Definition ir_builder.h:45

Definition at line 159 of file ir_builder.h.

◆ ir_ABS_I32

#define ir_ABS_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_ABS, (_op1))
#define ir_UNARY_OP_I32(_op, _op1)
Definition ir_builder.h:46

Definition at line 160 of file ir_builder.h.

◆ ir_ABS_I64

#define ir_ABS_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_ABS, (_op1))
#define ir_UNARY_OP_I64(_op, _op1)
Definition ir_builder.h:47

Definition at line 161 of file ir_builder.h.

◆ ir_ABS_I8

#define ir_ABS_I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_ABS, (_op1))
#define ir_UNARY_OP_I8(_op, _op1)
Definition ir_builder.h:44

Definition at line 158 of file ir_builder.h.

◆ ir_ADD

#define ir_ADD ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_ADD, (_type), (_op1), (_op2))
#define ir_BINARY_OP(_op, _t, _op1, _op2)
Definition ir_builder.h:51

Definition at line 79 of file ir_builder.h.

◆ ir_ADD_A

#define ir_ADD_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_ADD, (_op1), (_op2))
#define ir_BINARY_OP_A(_op, _op1, _op2)
Definition ir_builder.h:57

Definition at line 84 of file ir_builder.h.

◆ ir_ADD_C

#define ir_ADD_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_ADD, (_op1), (_op2))
#define ir_BINARY_OP_C(_op, _op1, _op2)
Definition ir_builder.h:58

Definition at line 85 of file ir_builder.h.

◆ ir_ADD_D

#define ir_ADD_D ( _op1,
_op2 )
Value:
ir_BINARY_OP_D(IR_ADD, (_op1), (_op2))
#define ir_BINARY_OP_D(_op, _op1, _op2)
Definition ir_builder.h:63

Definition at line 90 of file ir_builder.h.

◆ ir_ADD_F

#define ir_ADD_F ( _op1,
_op2 )
Value:
ir_BINARY_OP_F(IR_ADD, (_op1), (_op2))
#define ir_BINARY_OP_F(_op, _op1, _op2)
Definition ir_builder.h:64

Definition at line 91 of file ir_builder.h.

◆ ir_ADD_I16

#define ir_ADD_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_ADD, (_op1), (_op2))
#define ir_BINARY_OP_I16(_op, _op1, _op2)
Definition ir_builder.h:60

Definition at line 87 of file ir_builder.h.

◆ ir_ADD_I32

#define ir_ADD_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_ADD, (_op1), (_op2))
#define ir_BINARY_OP_I32(_op, _op1, _op2)
Definition ir_builder.h:61

Definition at line 88 of file ir_builder.h.

◆ ir_ADD_I64

#define ir_ADD_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_ADD, (_op1), (_op2))
#define ir_BINARY_OP_I64(_op, _op1, _op2)
Definition ir_builder.h:62

Definition at line 89 of file ir_builder.h.

◆ ir_ADD_I8

#define ir_ADD_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_ADD, (_op1), (_op2))
#define ir_BINARY_OP_I8(_op, _op1, _op2)
Definition ir_builder.h:59

Definition at line 86 of file ir_builder.h.

◆ ir_ADD_OFFSET

#define ir_ADD_OFFSET ( _addr,
_offset )
Value:
_ir_ADD_OFFSET(_ir_CTX, (_addr), (_offset))
ir_ref _ir_ADD_OFFSET(ir_ctx *ctx, ir_ref addr, uintptr_t offset)
Definition ir.c:2992
#define _ir_CTX
Definition ir_builder.h:16

Definition at line 490 of file ir_builder.h.

◆ ir_ADD_OV

#define ir_ADD_OV ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_ADD_OV, (_type), (_op1), (_op2))

Definition at line 233 of file ir_builder.h.

◆ ir_ADD_OV_A

#define ir_ADD_OV_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_ADD_OV, (_op1), (_op2))

Definition at line 238 of file ir_builder.h.

◆ ir_ADD_OV_C

#define ir_ADD_OV_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_ADD_OV, (_op1), (_op2))

Definition at line 239 of file ir_builder.h.

◆ ir_ADD_OV_I16

#define ir_ADD_OV_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_ADD_OV, (_op1), (_op2))

Definition at line 241 of file ir_builder.h.

◆ ir_ADD_OV_I32

#define ir_ADD_OV_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_ADD_OV, (_op1), (_op2))

Definition at line 242 of file ir_builder.h.

◆ ir_ADD_OV_I64

#define ir_ADD_OV_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_ADD_OV, (_op1), (_op2))

Definition at line 243 of file ir_builder.h.

◆ ir_ADD_OV_I8

#define ir_ADD_OV_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_ADD_OV, (_op1), (_op2))

Definition at line 240 of file ir_builder.h.

◆ ir_ADD_OV_U16

#define ir_ADD_OV_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_ADD_OV, (_op1), (_op2))
#define ir_BINARY_OP_U16(_op, _op1, _op2)
Definition ir_builder.h:54

Definition at line 235 of file ir_builder.h.

◆ ir_ADD_OV_U32

#define ir_ADD_OV_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_ADD_OV, (_op1), (_op2))
#define ir_BINARY_OP_U32(_op, _op1, _op2)
Definition ir_builder.h:55

Definition at line 236 of file ir_builder.h.

◆ ir_ADD_OV_U64

#define ir_ADD_OV_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_ADD_OV, (_op1), (_op2))
#define ir_BINARY_OP_U64(_op, _op1, _op2)
Definition ir_builder.h:56

Definition at line 237 of file ir_builder.h.

◆ ir_ADD_OV_U8

#define ir_ADD_OV_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_ADD_OV, (_op1), (_op2))
#define ir_BINARY_OP_U8(_op, _op1, _op2)
Definition ir_builder.h:53

Definition at line 234 of file ir_builder.h.

◆ ir_ADD_U16

#define ir_ADD_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_ADD, (_op1), (_op2))

Definition at line 81 of file ir_builder.h.

◆ ir_ADD_U32

#define ir_ADD_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_ADD, (_op1), (_op2))

Definition at line 82 of file ir_builder.h.

◆ ir_ADD_U64

#define ir_ADD_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_ADD, (_op1), (_op2))

Definition at line 83 of file ir_builder.h.

◆ ir_ADD_U8

#define ir_ADD_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_ADD, (_op1), (_op2))

Definition at line 80 of file ir_builder.h.

◆ ir_AFREE

#define ir_AFREE ( _size)
Value:
_ir_AFREE(_ir_CTX, (_size))
void _ir_AFREE(ir_ctx *ctx, ir_ref size)
Definition ir.c:3075

Definition at line 530 of file ir_builder.h.

◆ ir_ALLOCA

#define ir_ALLOCA ( _size)
Value:
ir_ref _ir_ALLOCA(ir_ctx *ctx, ir_ref size)
Definition ir.c:3069

Definition at line 529 of file ir_builder.h.

◆ ir_AND

#define ir_AND ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_AND, (_type), (_op1), (_op2))

Definition at line 297 of file ir_builder.h.

◆ ir_AND_A

#define ir_AND_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_AND, (_op1), (_op2))

Definition at line 303 of file ir_builder.h.

◆ ir_AND_B

#define ir_AND_B ( _op1,
_op2 )
Value:
ir_BINARY_OP_B(IR_AND, (_op1), (_op2))
#define ir_BINARY_OP_B(_op, _op1, _op2)
Definition ir_builder.h:52

Definition at line 298 of file ir_builder.h.

◆ ir_AND_C

#define ir_AND_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_AND, (_op1), (_op2))

Definition at line 304 of file ir_builder.h.

◆ ir_AND_I16

#define ir_AND_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_AND, (_op1), (_op2))

Definition at line 306 of file ir_builder.h.

◆ ir_AND_I32

#define ir_AND_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_AND, (_op1), (_op2))

Definition at line 307 of file ir_builder.h.

◆ ir_AND_I64

#define ir_AND_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_AND, (_op1), (_op2))

Definition at line 308 of file ir_builder.h.

◆ ir_AND_I8

#define ir_AND_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_AND, (_op1), (_op2))

Definition at line 305 of file ir_builder.h.

◆ ir_AND_U16

#define ir_AND_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_AND, (_op1), (_op2))

Definition at line 300 of file ir_builder.h.

◆ ir_AND_U32

#define ir_AND_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_AND, (_op1), (_op2))

Definition at line 301 of file ir_builder.h.

◆ ir_AND_U64

#define ir_AND_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_AND, (_op1), (_op2))

Definition at line 302 of file ir_builder.h.

◆ ir_AND_U8

#define ir_AND_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_AND, (_op1), (_op2))

Definition at line 299 of file ir_builder.h.

◆ ir_BEGIN

#define ir_BEGIN ( _src)
Value:
void _ir_BEGIN(ir_ctx *ctx, ir_ref src)
Definition ir.c:2391

Definition at line 592 of file ir_builder.h.

◆ ir_BINARY_OP

#define ir_BINARY_OP ( _op,
_t,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), (_t)), (_op1), (_op2))
ir_ref ir_fold2(ir_ctx *ctx, uint32_t opt, ir_ref op1, ir_ref op2)
Definition ir.c:1067
#define IR_OPT(op, type)
Definition ir.h:385

Definition at line 51 of file ir_builder.h.

◆ ir_BINARY_OP_A

#define ir_BINARY_OP_A ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_ADDR), (_op1), (_op2))

Definition at line 57 of file ir_builder.h.

◆ ir_BINARY_OP_B

#define ir_BINARY_OP_B ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_BOOL), (_op1), (_op2))

Definition at line 52 of file ir_builder.h.

◆ ir_BINARY_OP_C

#define ir_BINARY_OP_C ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_CHAR), (_op1), (_op2))

Definition at line 58 of file ir_builder.h.

◆ ir_BINARY_OP_D

#define ir_BINARY_OP_D ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_DOUBLE), (_op1), (_op2))

Definition at line 63 of file ir_builder.h.

◆ ir_BINARY_OP_F

#define ir_BINARY_OP_F ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_FLOAT), (_op1), (_op2))

Definition at line 64 of file ir_builder.h.

◆ ir_BINARY_OP_I16

#define ir_BINARY_OP_I16 ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_I16), (_op1), (_op2))

Definition at line 60 of file ir_builder.h.

◆ ir_BINARY_OP_I32

#define ir_BINARY_OP_I32 ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_I32), (_op1), (_op2))

Definition at line 61 of file ir_builder.h.

◆ ir_BINARY_OP_I64

#define ir_BINARY_OP_I64 ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_I64), (_op1), (_op2))

Definition at line 62 of file ir_builder.h.

◆ ir_BINARY_OP_I8

#define ir_BINARY_OP_I8 ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_I8), (_op1), (_op2))

Definition at line 59 of file ir_builder.h.

◆ ir_BINARY_OP_U16

#define ir_BINARY_OP_U16 ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_U16), (_op1), (_op2))

Definition at line 54 of file ir_builder.h.

◆ ir_BINARY_OP_U32

#define ir_BINARY_OP_U32 ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_U32), (_op1), (_op2))

Definition at line 55 of file ir_builder.h.

◆ ir_BINARY_OP_U64

#define ir_BINARY_OP_U64 ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_U64), (_op1), (_op2))

Definition at line 56 of file ir_builder.h.

◆ ir_BINARY_OP_U8

#define ir_BINARY_OP_U8 ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_U8), (_op1), (_op2))

Definition at line 53 of file ir_builder.h.

◆ ir_BITCAST

#define ir_BITCAST ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_BITCAST, (_type), (_op1))

Definition at line 201 of file ir_builder.h.

◆ ir_BITCAST_A

#define ir_BITCAST_A ( _op1)
Value:
ir_UNARY_OP_A(IR_BITCAST, (_op1))
#define ir_UNARY_OP_A(_op, _op1)
Definition ir_builder.h:42

Definition at line 206 of file ir_builder.h.

◆ ir_BITCAST_C

#define ir_BITCAST_C ( _op1)
Value:
ir_UNARY_OP_C(IR_BITCAST, (_op1))

Definition at line 207 of file ir_builder.h.

◆ ir_BITCAST_D

#define ir_BITCAST_D ( _op1)
Value:
ir_UNARY_OP_D(IR_BITCAST, (_op1))

Definition at line 212 of file ir_builder.h.

◆ ir_BITCAST_F

#define ir_BITCAST_F ( _op1)
Value:
ir_UNARY_OP_F(IR_BITCAST, (_op1))

Definition at line 213 of file ir_builder.h.

◆ ir_BITCAST_I16

#define ir_BITCAST_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_BITCAST, (_op1))

Definition at line 209 of file ir_builder.h.

◆ ir_BITCAST_I32

#define ir_BITCAST_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_BITCAST, (_op1))

Definition at line 210 of file ir_builder.h.

◆ ir_BITCAST_I64

#define ir_BITCAST_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_BITCAST, (_op1))

Definition at line 211 of file ir_builder.h.

◆ ir_BITCAST_I8

#define ir_BITCAST_I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_BITCAST, (_op1))

Definition at line 208 of file ir_builder.h.

◆ ir_BITCAST_U16

#define ir_BITCAST_U16 ( _op1)
Value:
ir_UNARY_OP_U16(IR_BITCAST, (_op1))
#define ir_UNARY_OP_U16(_op, _op1)
Definition ir_builder.h:39

Definition at line 203 of file ir_builder.h.

◆ ir_BITCAST_U32

#define ir_BITCAST_U32 ( _op1)
Value:
ir_UNARY_OP_U32(IR_BITCAST, (_op1))
#define ir_UNARY_OP_U32(_op, _op1)
Definition ir_builder.h:40

Definition at line 204 of file ir_builder.h.

◆ ir_BITCAST_U64

#define ir_BITCAST_U64 ( _op1)
Value:
ir_UNARY_OP_U64(IR_BITCAST, (_op1))
#define ir_UNARY_OP_U64(_op, _op1)
Definition ir_builder.h:41

Definition at line 205 of file ir_builder.h.

◆ ir_BITCAST_U8

#define ir_BITCAST_U8 ( _op1)
Value:
ir_UNARY_OP_U8(IR_BITCAST, (_op1))
#define ir_UNARY_OP_U8(_op, _op1)
Definition ir_builder.h:38

Definition at line 202 of file ir_builder.h.

◆ ir_BLOCK_BEGIN

#define ir_BLOCK_BEGIN ( )
Value:
ir_ref _ir_BLOCK_BEGIN(ir_ctx *ctx)
Definition ir.c:3196

Definition at line 582 of file ir_builder.h.

◆ ir_BLOCK_END

#define ir_BLOCK_END ( _val)
Value:
do {_ir_CTX->control = ir_emit2(_ir_CTX, IR_BLOCK_END, _ir_CTX->control, (_val));} while (0)
ir_ref ir_emit2(ir_ctx *ctx, uint32_t opt, ir_ref op1, ir_ref op2)
Definition ir.c:834

Definition at line 583 of file ir_builder.h.

◆ ir_BSWAP

#define ir_BSWAP ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_BSWAP, (_type), (_op1))

Definition at line 383 of file ir_builder.h.

◆ ir_BSWAP_A

#define ir_BSWAP_A ( _op1)
Value:
ir_UNARY_OP_A(IR_BSWAP, (_op1))

Definition at line 387 of file ir_builder.h.

◆ ir_BSWAP_I16

#define ir_BSWAP_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_BSWAP, (_op1))

Definition at line 388 of file ir_builder.h.

◆ ir_BSWAP_I32

#define ir_BSWAP_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_BSWAP, (_op1))

Definition at line 389 of file ir_builder.h.

◆ ir_BSWAP_I64

#define ir_BSWAP_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_BSWAP, (_op1))

Definition at line 390 of file ir_builder.h.

◆ ir_BSWAP_U16

#define ir_BSWAP_U16 ( _op1)
Value:
ir_UNARY_OP_U16(IR_BSWAP, (_op1))

Definition at line 384 of file ir_builder.h.

◆ ir_BSWAP_U32

#define ir_BSWAP_U32 ( _op1)
Value:
ir_UNARY_OP_U32(IR_BSWAP, (_op1))

Definition at line 385 of file ir_builder.h.

◆ ir_BSWAP_U64

#define ir_BSWAP_U64 ( _op1)
Value:
ir_UNARY_OP_U64(IR_BSWAP, (_op1))

Definition at line 386 of file ir_builder.h.

◆ ir_CALL

#define ir_CALL ( type,
func )
Value:
zend_ffi_type * type
Definition ffi.c:3812
ir_ref _ir_CALL(ir_ctx *ctx, ir_type type, ir_ref func)
Definition ir.c:2690
execute_data func

Definition at line 511 of file ir_builder.h.

◆ ir_CALL_1

#define ir_CALL_1 ( type,
func,
a1 )
Value:
ir_ref _ir_CALL_1(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1)
Definition ir.c:2696

Definition at line 512 of file ir_builder.h.

◆ ir_CALL_2

#define ir_CALL_2 ( type,
func,
a1,
a2 )
Value:
ir_ref _ir_CALL_2(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2)
Definition ir.c:2702

Definition at line 513 of file ir_builder.h.

◆ ir_CALL_3

#define ir_CALL_3 ( type,
func,
a1,
a2,
a3 )
Value:
_ir_CALL_3(_ir_CTX, type, func, a1, a2, a3)
ir_ref _ir_CALL_3(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3)
Definition ir.c:2716

Definition at line 514 of file ir_builder.h.

◆ ir_CALL_4

#define ir_CALL_4 ( type,
func,
a1,
a2,
a3,
a4 )
Value:
_ir_CALL_4(_ir_CTX, type, func, a1, a2, a3, a4)
ir_ref _ir_CALL_4(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4)
Definition ir.c:2731

Definition at line 515 of file ir_builder.h.

◆ ir_CALL_5

#define ir_CALL_5 ( type,
func,
a1,
a2,
a3,
a4,
a5 )
Value:
_ir_CALL_5(_ir_CTX, type, func, a1, a2, a3, a4, a5)
ir_ref _ir_CALL_5(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4, ir_ref arg5)
Definition ir.c:2747

Definition at line 516 of file ir_builder.h.

◆ ir_CALL_6

#define ir_CALL_6 ( type,
func,
a,
b,
c,
d,
e,
f )
Value:
_ir_CALL_6(_ir_CTX, type, func, a, b, c, d, e, f)
ir_ref _ir_CALL_6(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4, ir_ref arg5, ir_ref arg6)
Definition ir.c:2764
$obj a
Definition test.php:84

Definition at line 517 of file ir_builder.h.

◆ ir_CALL_N

#define ir_CALL_N ( type,
func,
count,
args )
Value:
count(Countable|array $value, int $mode=COUNT_NORMAL)
ir_ref _ir_CALL_N(ir_ctx *ctx, ir_type type, ir_ref func, uint32_t count, ir_ref *args)
Definition ir.c:2782
zval * args

Definition at line 518 of file ir_builder.h.

◆ ir_CASE_DEFAULT

#define ir_CASE_DEFAULT ( _switch)
Value:
void _ir_CASE_DEFAULT(ir_ctx *ctx, ir_ref switch_ref)
Definition ir.c:2964

Definition at line 606 of file ir_builder.h.

◆ ir_CASE_VAL

#define ir_CASE_VAL ( _switch,
_val )
Value:
_ir_CASE_VAL(_ir_CTX, (_switch), (_val))
void _ir_CASE_VAL(ir_ctx *ctx, ir_ref switch_ref, ir_ref val)
Definition ir.c:2958

Definition at line 605 of file ir_builder.h.

◆ ir_CMP_OP

#define ir_CMP_OP ( _op,
_op1,
_op2 )
Value:
ir_fold2(_ir_CTX, IR_OPT((_op), IR_BOOL), (_op1), (_op2))

Definition at line 34 of file ir_builder.h.

◆ ir_COND

#define ir_COND ( _type,
_op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, (_type)), (_op1), (_op2), (_op3))
ir_ref ir_fold3(ir_ctx *ctx, uint32_t opt, ir_ref op1, ir_ref op2, ir_ref op3)
Definition ir.c:1072

Definition at line 456 of file ir_builder.h.

◆ ir_COND_A

#define ir_COND_A ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_ADDR), (_op1), (_op2), (_op3))

Definition at line 461 of file ir_builder.h.

◆ ir_COND_C

#define ir_COND_C ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_CHAR), (_op1), (_op2), (_op3))

Definition at line 462 of file ir_builder.h.

◆ ir_COND_D

#define ir_COND_D ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_DOUBLE), (_op1), (_op2), (_op3))

Definition at line 467 of file ir_builder.h.

◆ ir_COND_F

#define ir_COND_F ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_FLOAT), (_op1), (_op2), (_op3))

Definition at line 468 of file ir_builder.h.

◆ ir_COND_I16

#define ir_COND_I16 ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_I16), (_op1), (_op2), (_op3))

Definition at line 464 of file ir_builder.h.

◆ ir_COND_I32

#define ir_COND_I32 ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_I32), (_op1), (_op2), (_op3))

Definition at line 465 of file ir_builder.h.

◆ ir_COND_I64

#define ir_COND_I64 ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_I64), (_op1), (_op2), (_op3))

Definition at line 466 of file ir_builder.h.

◆ ir_COND_I8

#define ir_COND_I8 ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_I8), (_op1), (_op2), (_op3))

Definition at line 463 of file ir_builder.h.

◆ ir_COND_U16

#define ir_COND_U16 ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_U16), (_op1), (_op2), (_op3))

Definition at line 458 of file ir_builder.h.

◆ ir_COND_U32

#define ir_COND_U32 ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_U32), (_op1), (_op2), (_op3))

Definition at line 459 of file ir_builder.h.

◆ ir_COND_U64

#define ir_COND_U64 ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_U64), (_op1), (_op2), (_op3))

Definition at line 460 of file ir_builder.h.

◆ ir_COND_U8

#define ir_COND_U8 ( _op1,
_op2,
_op3 )
Value:
ir_fold3(_ir_CTX, IR_OPT(IR_COND, IR_U8), (_op1), (_op2), (_op3))

Definition at line 457 of file ir_builder.h.

◆ ir_CONST_ADDR

#define ir_CONST_ADDR ( _val)
Value:
ir_const_addr(_ir_CTX, (uintptr_t)(_val))
ir_ref ir_const_addr(ir_ctx *ctx, uintptr_t c)
Definition ir.c:645

Definition at line 25 of file ir_builder.h.

◆ ir_CONST_BOOL

#define ir_CONST_BOOL ( _val)
Value:
ir_ref ir_const_bool(ir_ctx *ctx, bool c)
Definition ir.c:618

Definition at line 20 of file ir_builder.h.

◆ ir_CONST_CHAR

#define ir_CONST_CHAR ( _val)
Value:
ir_ref ir_const_char(ir_ctx *ctx, char c)
Definition ir.c:623

Definition at line 26 of file ir_builder.h.

◆ ir_CONST_DOUBLE

#define ir_CONST_DOUBLE ( _val)
Value:
ir_ref ir_const_double(ir_ctx *ctx, double c)
Definition ir.c:638

Definition at line 31 of file ir_builder.h.

◆ ir_CONST_FLOAT

#define ir_CONST_FLOAT ( _val)
Value:
ir_ref ir_const_float(ir_ctx *ctx, float c)
Definition ir.c:630

Definition at line 32 of file ir_builder.h.

◆ ir_CONST_I16

#define ir_CONST_I16 ( _val)
Value:
ir_ref ir_const_i16(ir_ctx *ctx, int16_t c)
Definition ir.c:569

Definition at line 28 of file ir_builder.h.

◆ ir_CONST_I32

#define ir_CONST_I32 ( _val)
Value:
ir_ref ir_const_i32(ir_ctx *ctx, int32_t c)
Definition ir.c:576

Definition at line 29 of file ir_builder.h.

◆ ir_CONST_I64

#define ir_CONST_I64 ( _val)
Value:
ir_ref ir_const_i64(ir_ctx *ctx, int64_t c)
Definition ir.c:583

Definition at line 30 of file ir_builder.h.

◆ ir_CONST_I8

#define ir_CONST_I8 ( _val)
Value:
ir_ref ir_const_i8(ir_ctx *ctx, int8_t c)
Definition ir.c:562

Definition at line 27 of file ir_builder.h.

◆ ir_CONST_U16

#define ir_CONST_U16 ( _val)
Value:
ir_ref ir_const_u16(ir_ctx *ctx, uint16_t c)
Definition ir.c:597

Definition at line 22 of file ir_builder.h.

◆ ir_CONST_U32

#define ir_CONST_U32 ( _val)
Value:
ir_ref ir_const_u32(ir_ctx *ctx, uint32_t c)
Definition ir.c:604

Definition at line 23 of file ir_builder.h.

◆ ir_CONST_U64

#define ir_CONST_U64 ( _val)
Value:
ir_ref ir_const_u64(ir_ctx *ctx, uint64_t c)
Definition ir.c:611

Definition at line 24 of file ir_builder.h.

◆ ir_CONST_U8

#define ir_CONST_U8 ( _val)
Value:
ir_ref ir_const_u8(ir_ctx *ctx, uint8_t c)
Definition ir.c:590

Definition at line 21 of file ir_builder.h.

◆ ir_COPY

#define ir_COPY ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_COPY, (_type), (_op1))

Definition at line 474 of file ir_builder.h.

◆ ir_COPY_A

#define ir_COPY_A ( _op1)
Value:
ir_UNARY_OP_A(IR_COPY, (_op1))

Definition at line 480 of file ir_builder.h.

◆ ir_COPY_B

#define ir_COPY_B ( _op1)
Value:
ir_UNARY_OP_B(IR_COPY, (_op1))
#define ir_UNARY_OP_B(_op, _op1)
Definition ir_builder.h:37

Definition at line 475 of file ir_builder.h.

◆ ir_COPY_C

#define ir_COPY_C ( _op1)
Value:
ir_UNARY_OP_C(IR_COPY, (_op1))

Definition at line 481 of file ir_builder.h.

◆ ir_COPY_D

#define ir_COPY_D ( _op1)
Value:
ir_UNARY_OP_D(IR_COPY, (_op1))

Definition at line 486 of file ir_builder.h.

◆ ir_COPY_F

#define ir_COPY_F ( _op1)
Value:
ir_UNARY_OP_F(IR_COPY, (_op1))

Definition at line 487 of file ir_builder.h.

◆ ir_COPY_I16

#define ir_COPY_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_COPY, (_op1))

Definition at line 483 of file ir_builder.h.

◆ ir_COPY_I32

#define ir_COPY_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_COPY, (_op1))

Definition at line 484 of file ir_builder.h.

◆ ir_COPY_I64

#define ir_COPY_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_COPY, (_op1))

Definition at line 485 of file ir_builder.h.

◆ ir_COPY_I8

#define ir_COPY_I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_COPY, (_op1))

Definition at line 482 of file ir_builder.h.

◆ ir_COPY_U16

#define ir_COPY_U16 ( _op1)
Value:
ir_UNARY_OP_U16(IR_COPY, (_op1))

Definition at line 477 of file ir_builder.h.

◆ ir_COPY_U32

#define ir_COPY_U32 ( _op1)
Value:
ir_UNARY_OP_U32(IR_COPY, (_op1))

Definition at line 478 of file ir_builder.h.

◆ ir_COPY_U64

#define ir_COPY_U64 ( _op1)
Value:
ir_UNARY_OP_U64(IR_COPY, (_op1))

Definition at line 479 of file ir_builder.h.

◆ ir_COPY_U8

#define ir_COPY_U8 ( _op1)
Value:
ir_UNARY_OP_U8(IR_COPY, (_op1))

Definition at line 476 of file ir_builder.h.

◆ ir_CTLZ

#define ir_CTLZ ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_CTLZ, (_type), (_op1))

Definition at line 404 of file ir_builder.h.

◆ ir_CTLZ_8

#define ir_CTLZ_8 ( _op1)
Value:
ir_UNARY_OP_U8(IR_CTLZ, (_op1))

Definition at line 405 of file ir_builder.h.

◆ ir_CTLZ_A

#define ir_CTLZ_A ( _op1)
Value:
ir_UNARY_OP_A(IR_CTLZ, (_op1))

Definition at line 409 of file ir_builder.h.

◆ ir_CTLZ_C

#define ir_CTLZ_C ( _op1)
Value:
ir_UNARY_OP_C(IR_CTLZ, (_op1))

Definition at line 410 of file ir_builder.h.

◆ ir_CTLZ_I16

#define ir_CTLZ_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_CTLZ, (_op1))

Definition at line 412 of file ir_builder.h.

◆ ir_CTLZ_I32

#define ir_CTLZ_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_CTLZ, (_op1))

Definition at line 413 of file ir_builder.h.

◆ ir_CTLZ_I64

#define ir_CTLZ_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_CTLZ, (_op1))

Definition at line 414 of file ir_builder.h.

◆ ir_CTLZ_I8

#define ir_CTLZ_I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_CTLZ, (_op1))

Definition at line 411 of file ir_builder.h.

◆ ir_CTLZ_U16

#define ir_CTLZ_U16 ( _op1)
Value:
ir_UNARY_OP_U16(IR_CTLZ, (_op1))

Definition at line 406 of file ir_builder.h.

◆ ir_CTLZ_U32

#define ir_CTLZ_U32 ( _op1)
Value:
ir_UNARY_OP_U32(IR_CTLZ, (_op1))

Definition at line 407 of file ir_builder.h.

◆ ir_CTLZ_U64

#define ir_CTLZ_U64 ( _op1)
Value:
ir_UNARY_OP_U64(IR_CTLZ, (_op1))

Definition at line 408 of file ir_builder.h.

◆ ir_CTPOP

#define ir_CTPOP ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_CTPOP, (_type), (_op1))

Definition at line 392 of file ir_builder.h.

◆ ir_CTPOP_8

#define ir_CTPOP_8 ( _op1)
Value:
ir_UNARY_OP_U8(IR_CTPOP, (_op1))

Definition at line 393 of file ir_builder.h.

◆ ir_CTPOP_A

#define ir_CTPOP_A ( _op1)
Value:
ir_UNARY_OP_A(IR_CTPOP, (_op1))

Definition at line 397 of file ir_builder.h.

◆ ir_CTPOP_C

#define ir_CTPOP_C ( _op1)
Value:
ir_UNARY_OP_C(IR_CTPOP, (_op1))

Definition at line 398 of file ir_builder.h.

◆ ir_CTPOP_I16

#define ir_CTPOP_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_CTPOP, (_op1))

Definition at line 400 of file ir_builder.h.

◆ ir_CTPOP_I32

#define ir_CTPOP_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_CTPOP, (_op1))

Definition at line 401 of file ir_builder.h.

◆ ir_CTPOP_I64

#define ir_CTPOP_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_CTPOP, (_op1))

Definition at line 402 of file ir_builder.h.

◆ ir_CTPOP_I8

#define ir_CTPOP_I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_CTPOP, (_op1))

Definition at line 399 of file ir_builder.h.

◆ ir_CTPOP_U16

#define ir_CTPOP_U16 ( _op1)
Value:
ir_UNARY_OP_U16(IR_CTPOP, (_op1))

Definition at line 394 of file ir_builder.h.

◆ ir_CTPOP_U32

#define ir_CTPOP_U32 ( _op1)
Value:
ir_UNARY_OP_U32(IR_CTPOP, (_op1))

Definition at line 395 of file ir_builder.h.

◆ ir_CTPOP_U64

#define ir_CTPOP_U64 ( _op1)
Value:
ir_UNARY_OP_U64(IR_CTPOP, (_op1))

Definition at line 396 of file ir_builder.h.

◆ ir_CTTZ

#define ir_CTTZ ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_CTTZ, (_type), (_op1))

Definition at line 416 of file ir_builder.h.

◆ ir_CTTZ_8

#define ir_CTTZ_8 ( _op1)
Value:
ir_UNARY_OP_U8(IR_CTTZ, (_op1))

Definition at line 417 of file ir_builder.h.

◆ ir_CTTZ_A

#define ir_CTTZ_A ( _op1)
Value:
ir_UNARY_OP_A(IR_CTTZ, (_op1))

Definition at line 421 of file ir_builder.h.

◆ ir_CTTZ_C

#define ir_CTTZ_C ( _op1)
Value:
ir_UNARY_OP_C(IR_CTTZ, (_op1))

Definition at line 422 of file ir_builder.h.

◆ ir_CTTZ_I16

#define ir_CTTZ_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_CTTZ, (_op1))

Definition at line 424 of file ir_builder.h.

◆ ir_CTTZ_I32

#define ir_CTTZ_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_CTTZ, (_op1))

Definition at line 425 of file ir_builder.h.

◆ ir_CTTZ_I64

#define ir_CTTZ_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_CTTZ, (_op1))

Definition at line 426 of file ir_builder.h.

◆ ir_CTTZ_I8

#define ir_CTTZ_I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_CTTZ, (_op1))

Definition at line 423 of file ir_builder.h.

◆ ir_CTTZ_U16

#define ir_CTTZ_U16 ( _op1)
Value:
ir_UNARY_OP_U16(IR_CTTZ, (_op1))

Definition at line 418 of file ir_builder.h.

◆ ir_CTTZ_U32

#define ir_CTTZ_U32 ( _op1)
Value:
ir_UNARY_OP_U32(IR_CTTZ, (_op1))

Definition at line 419 of file ir_builder.h.

◆ ir_CTTZ_U64

#define ir_CTTZ_U64 ( _op1)
Value:
ir_UNARY_OP_U64(IR_CTTZ, (_op1))

Definition at line 420 of file ir_builder.h.

◆ ir_D2F

#define ir_D2F ( _op1)
Value:
ir_UNARY_OP_F(IR_FP2FP, (_op1))

Definition at line 231 of file ir_builder.h.

◆ ir_DIV

#define ir_DIV ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_DIV, (_type), (_op1), (_op2))

Definition at line 121 of file ir_builder.h.

◆ ir_DIV_A

#define ir_DIV_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_DIV, (_op1), (_op2))

Definition at line 126 of file ir_builder.h.

◆ ir_DIV_C

#define ir_DIV_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_DIV, (_op1), (_op2))

Definition at line 127 of file ir_builder.h.

◆ ir_DIV_D

#define ir_DIV_D ( _op1,
_op2 )
Value:
ir_BINARY_OP_D(IR_DIV, (_op1), (_op2))

Definition at line 132 of file ir_builder.h.

◆ ir_DIV_F

#define ir_DIV_F ( _op1,
_op2 )
Value:
ir_BINARY_OP_F(IR_DIV, (_op1), (_op2))

Definition at line 133 of file ir_builder.h.

◆ ir_DIV_I16

#define ir_DIV_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_DIV, (_op1), (_op2))

Definition at line 129 of file ir_builder.h.

◆ ir_DIV_I32

#define ir_DIV_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_DIV, (_op1), (_op2))

Definition at line 130 of file ir_builder.h.

◆ ir_DIV_I64

#define ir_DIV_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_DIV, (_op1), (_op2))

Definition at line 131 of file ir_builder.h.

◆ ir_DIV_I8

#define ir_DIV_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_DIV, (_op1), (_op2))

Definition at line 128 of file ir_builder.h.

◆ ir_DIV_U16

#define ir_DIV_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_DIV, (_op1), (_op2))

Definition at line 123 of file ir_builder.h.

◆ ir_DIV_U32

#define ir_DIV_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_DIV, (_op1), (_op2))

Definition at line 124 of file ir_builder.h.

◆ ir_DIV_U64

#define ir_DIV_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_DIV, (_op1), (_op2))

Definition at line 125 of file ir_builder.h.

◆ ir_DIV_U8

#define ir_DIV_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_DIV, (_op1), (_op2))

Definition at line 122 of file ir_builder.h.

◆ ir_END

#define ir_END ( )
Value:
ir_ref _ir_END(ir_ctx *ctx)
Definition ir.c:2531

Definition at line 598 of file ir_builder.h.

◆ ir_END_list

#define ir_END_list ( _list)
Value:
do { _list = _ir_END_LIST(_ir_CTX, _list); } while (0)
ir_ref _ir_END_LIST(ir_ctx *ctx, ir_ref list)
Definition ir.c:2575

Definition at line 619 of file ir_builder.h.

◆ ir_END_PHI_list

#define ir_END_PHI_list ( _list,
_val )
Value:
do { _list = _ir_END_PHI_LIST(_ir_CTX, _list, _val); } while (0)
ir_ref _ir_END_PHI_LIST(ir_ctx *ctx, ir_ref list, ir_ref val)
Definition ir.c:2587

Definition at line 622 of file ir_builder.h.

◆ ir_ENTRY

#define ir_ENTRY ( _src,
_num )
Value:
_ir_ENTRY(_ir_CTX, (_src), (_num))
void _ir_ENTRY(ir_ctx *ctx, ir_ref src, ir_ref num)
Definition ir.c:2381

Definition at line 591 of file ir_builder.h.

◆ ir_EQ

#define ir_EQ ( _op1,
_op2 )
Value:
ir_CMP_OP(IR_EQ, (_op1), (_op2))
#define ir_CMP_OP(_op, _op1, _op2)
Definition ir_builder.h:34

Definition at line 66 of file ir_builder.h.

◆ ir_EXITCALL

#define ir_EXITCALL ( _func)
Value:
ir_ref _ir_EXITCALL(ir_ctx *ctx, ir_ref func)
Definition ir.c:3063

Definition at line 617 of file ir_builder.h.

◆ ir_F2D

#define ir_F2D ( _op1)
Value:
ir_UNARY_OP_D(IR_FP2FP, (_op1))

Definition at line 230 of file ir_builder.h.

◆ ir_FP2FP

#define ir_FP2FP ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_FP2FP, (_type), (_op1))

Definition at line 229 of file ir_builder.h.

◆ ir_FP2I16

#define ir_FP2I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_FP2INT, (_op1))

Definition at line 225 of file ir_builder.h.

◆ ir_FP2I32

#define ir_FP2I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_FP2INT, (_op1))

Definition at line 226 of file ir_builder.h.

◆ ir_FP2I64

#define ir_FP2I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_FP2INT, (_op1))

Definition at line 227 of file ir_builder.h.

◆ ir_FP2I8

#define ir_FP2I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_FP2INT, (_op1))

Definition at line 224 of file ir_builder.h.

◆ ir_FP2INT

#define ir_FP2INT ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_FP2INT, (_type), (_op1))

Definition at line 219 of file ir_builder.h.

◆ ir_FP2U16

#define ir_FP2U16 ( _op1)
Value:
ir_UNARY_OP_U16(IR_FP2INT, (_op1))

Definition at line 221 of file ir_builder.h.

◆ ir_FP2U32

#define ir_FP2U32 ( _op1)
Value:
ir_UNARY_OP_U32(IR_FP2INT, (_op1))

Definition at line 222 of file ir_builder.h.

◆ ir_FP2U64

#define ir_FP2U64 ( _op1)
Value:
ir_UNARY_OP_U64(IR_FP2INT, (_op1))

Definition at line 223 of file ir_builder.h.

◆ ir_FP2U8

#define ir_FP2U8 ( _op1)
Value:
ir_UNARY_OP_U8(IR_FP2INT, (_op1))

Definition at line 220 of file ir_builder.h.

◆ ir_FRAME_ADDR

#define ir_FRAME_ADDR ( )
Value:
ir_fold0(_ir_CTX, IR_OPT(IR_FRAME_ADDR, IR_ADDR))
ir_ref ir_fold0(ir_ctx *ctx, uint32_t opt)
Definition ir.c:1057

Definition at line 580 of file ir_builder.h.

◆ ir_GE

#define ir_GE ( _op1,
_op2 )
Value:
ir_CMP_OP(IR_GE, (_op1), (_op2))

Definition at line 70 of file ir_builder.h.

◆ ir_GT

#define ir_GT ( _op1,
_op2 )
Value:
ir_CMP_OP(IR_GT, (_op1), (_op2))

Definition at line 72 of file ir_builder.h.

◆ ir_GUARD

#define ir_GUARD ( _condition,
_addr )
Value:
_ir_GUARD(_ir_CTX, (_condition), (_addr))
void _ir_GUARD(ir_ctx *ctx, ir_ref condition, ir_ref addr)
Definition ir.c:3000

Definition at line 611 of file ir_builder.h.

◆ ir_GUARD_NOT

#define ir_GUARD_NOT ( _condition,
_addr )
Value:
_ir_GUARD_NOT(_ir_CTX, (_condition), (_addr))
void _ir_GUARD_NOT(ir_ctx *ctx, ir_ref condition, ir_ref addr)
Definition ir.c:3020

Definition at line 612 of file ir_builder.h.

◆ ir_HARD_COPY

#define ir_HARD_COPY ( _type,
_op1 )
Value:
ir_BINARY_OP(IR_COPY, (_type), (_op1), 1)

Definition at line 493 of file ir_builder.h.

◆ ir_HARD_COPY_A

#define ir_HARD_COPY_A ( _op1)
Value:
ir_BINARY_OP_A(IR_COPY, (_op1), 1)

Definition at line 499 of file ir_builder.h.

◆ ir_HARD_COPY_B

#define ir_HARD_COPY_B ( _op1)
Value:
ir_BINARY_OP_B(IR_COPY, (_op1), 1)

Definition at line 494 of file ir_builder.h.

◆ ir_HARD_COPY_C

#define ir_HARD_COPY_C ( _op1)
Value:
ir_BINARY_OP_C(IR_COPY, (_op1), 1)

Definition at line 500 of file ir_builder.h.

◆ ir_HARD_COPY_D

#define ir_HARD_COPY_D ( _op1)
Value:
ir_BINARY_OP_D(IR_COPY, (_op1), 1)

Definition at line 505 of file ir_builder.h.

◆ ir_HARD_COPY_F

#define ir_HARD_COPY_F ( _op1)
Value:
ir_BINARY_OP_F(IR_COPY, (_op1), 1)

Definition at line 506 of file ir_builder.h.

◆ ir_HARD_COPY_I16

#define ir_HARD_COPY_I16 ( _op1)
Value:
ir_BINARY_OP_I16(IR_COPY, (_op1), 1)

Definition at line 502 of file ir_builder.h.

◆ ir_HARD_COPY_I32

#define ir_HARD_COPY_I32 ( _op1)
Value:
ir_BINARY_OP_I32(IR_COPY, (_op1), 1)

Definition at line 503 of file ir_builder.h.

◆ ir_HARD_COPY_I64

#define ir_HARD_COPY_I64 ( _op1)
Value:
ir_BINARY_OP_I64(IR_COPY, (_op1), 1)

Definition at line 504 of file ir_builder.h.

◆ ir_HARD_COPY_I8

#define ir_HARD_COPY_I8 ( _op1)
Value:
ir_BINARY_OP_I8(IR_COPY, (_op1), 1)

Definition at line 501 of file ir_builder.h.

◆ ir_HARD_COPY_U16

#define ir_HARD_COPY_U16 ( _op1)
Value:
ir_BINARY_OP_U16(IR_COPY, (_op1), 1)

Definition at line 496 of file ir_builder.h.

◆ ir_HARD_COPY_U32

#define ir_HARD_COPY_U32 ( _op1)
Value:
ir_BINARY_OP_U32(IR_COPY, (_op1), 1)

Definition at line 497 of file ir_builder.h.

◆ ir_HARD_COPY_U64

#define ir_HARD_COPY_U64 ( _op1)
Value:
ir_BINARY_OP_U64(IR_COPY, (_op1), 1)

Definition at line 498 of file ir_builder.h.

◆ ir_HARD_COPY_U8

#define ir_HARD_COPY_U8 ( _op1)
Value:
ir_BINARY_OP_U8(IR_COPY, (_op1), 1)

Definition at line 495 of file ir_builder.h.

◆ ir_IF

#define ir_IF ( _condition)
Value:
_ir_IF(_ir_CTX, (_condition))
ir_ref _ir_IF(ir_ctx *ctx, ir_ref condition)
Definition ir.c:2475

Definition at line 593 of file ir_builder.h.

◆ ir_IF_FALSE

#define ir_IF_FALSE ( _if)
Value:
void _ir_IF_FALSE(ir_ctx *ctx, ir_ref if_ref)
Definition ir.c:2514

Definition at line 596 of file ir_builder.h.

◆ ir_IF_FALSE_cold

#define ir_IF_FALSE_cold ( _if)
Value:
void _ir_IF_FALSE_cold(ir_ctx *ctx, ir_ref if_ref)
Definition ir.c:2522

Definition at line 597 of file ir_builder.h.

◆ ir_IF_TRUE

#define ir_IF_TRUE ( _if)
Value:
void _ir_IF_TRUE(ir_ctx *ctx, ir_ref if_ref)
Definition ir.c:2497

Definition at line 594 of file ir_builder.h.

◆ ir_IF_TRUE_cold

#define ir_IF_TRUE_cold ( _if)
Value:
void _ir_IF_TRUE_cold(ir_ctx *ctx, ir_ref if_ref)
Definition ir.c:2505

Definition at line 595 of file ir_builder.h.

◆ ir_IJMP

#define ir_IJMP ( _addr)
Value:
_ir_IJMP(_ir_CTX, (_addr))
void _ir_IJMP(ir_ctx *ctx, ir_ref addr)
Definition ir.c:2984

Definition at line 608 of file ir_builder.h.

◆ ir_INT2D

#define ir_INT2D ( _op1)
Value:
ir_UNARY_OP_D(IR_INT2FP, (_op1))

Definition at line 216 of file ir_builder.h.

◆ ir_INT2F

#define ir_INT2F ( _op1)
Value:
ir_UNARY_OP_F(IR_INT2FP, (_op1))

Definition at line 217 of file ir_builder.h.

◆ ir_INT2FP

#define ir_INT2FP ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_INT2FP, (_type), (_op1))

Definition at line 215 of file ir_builder.h.

◆ ir_LE

#define ir_LE ( _op1,
_op2 )
Value:
ir_CMP_OP(IR_LE, (_op1), (_op2))

Definition at line 71 of file ir_builder.h.

◆ ir_LOAD

#define ir_LOAD ( _type,
_addr )
Value:
_ir_LOAD(_ir_CTX, (_type), (_addr))
ir_ref _ir_LOAD(ir_ctx *ctx, ir_type type, ir_ref addr)
Definition ir.c:3132

Definition at line 562 of file ir_builder.h.

◆ ir_LOAD_A

#define ir_LOAD_A ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_ADDR, (_addr))

Definition at line 568 of file ir_builder.h.

◆ ir_LOAD_B

#define ir_LOAD_B ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_BOOL, (_addr))

Definition at line 563 of file ir_builder.h.

◆ ir_LOAD_C

#define ir_LOAD_C ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_CHAR, (_addr))

Definition at line 569 of file ir_builder.h.

◆ ir_LOAD_D

#define ir_LOAD_D ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_DOUBLE, (_addr))

Definition at line 574 of file ir_builder.h.

◆ ir_LOAD_F

#define ir_LOAD_F ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_FLOAT, (_addr))

Definition at line 575 of file ir_builder.h.

◆ ir_LOAD_I16

#define ir_LOAD_I16 ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_I16, (_addr))

Definition at line 571 of file ir_builder.h.

◆ ir_LOAD_I32

#define ir_LOAD_I32 ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_I32, (_addr))

Definition at line 572 of file ir_builder.h.

◆ ir_LOAD_I64

#define ir_LOAD_I64 ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_I64, (_addr))

Definition at line 573 of file ir_builder.h.

◆ ir_LOAD_I8

#define ir_LOAD_I8 ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_I8, (_addr))

Definition at line 570 of file ir_builder.h.

◆ ir_LOAD_U16

#define ir_LOAD_U16 ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_U16, (_addr))

Definition at line 565 of file ir_builder.h.

◆ ir_LOAD_U32

#define ir_LOAD_U32 ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_U32, (_addr))

Definition at line 566 of file ir_builder.h.

◆ ir_LOAD_U64

#define ir_LOAD_U64 ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_U64, (_addr))

Definition at line 567 of file ir_builder.h.

◆ ir_LOAD_U8

#define ir_LOAD_U8 ( _addr)
Value:
_ir_LOAD(_ir_CTX, IR_U8, (_addr))

Definition at line 564 of file ir_builder.h.

◆ ir_LOOP_BEGIN

#define ir_LOOP_BEGIN ( _src1)
Value:
ir_ref _ir_LOOP_BEGIN(ir_ctx *ctx, ir_ref src1)
Definition ir.c:2673

Definition at line 602 of file ir_builder.h.

◆ ir_LOOP_END

#define ir_LOOP_END ( )
Value:
ir_ref _ir_LOOP_END(ir_ctx *ctx)
Definition ir.c:2680

Definition at line 603 of file ir_builder.h.

◆ ir_LT

#define ir_LT ( _op1,
_op2 )
Value:
ir_CMP_OP(IR_LT, (_op1), (_op2))

Definition at line 69 of file ir_builder.h.

◆ ir_MAX

#define ir_MAX ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_MAX, (_type), (_op1), (_op2))
#define IR_MAX(a, b)
Definition ir_private.h:62

Definition at line 442 of file ir_builder.h.

◆ ir_MAX_A

#define ir_MAX_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_MAX, (_op1), (_op2))

Definition at line 447 of file ir_builder.h.

◆ ir_MAX_C

#define ir_MAX_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_MAX, (_op1), (_op2))

Definition at line 448 of file ir_builder.h.

◆ ir_MAX_D

#define ir_MAX_D ( _op1,
_op2 )
Value:
ir_BINARY_OP_D(IR_MAX, (_op1), (_op2))

Definition at line 453 of file ir_builder.h.

◆ ir_MAX_F

#define ir_MAX_F ( _op1,
_op2 )
Value:
ir_BINARY_OP_F(IR_MAX, (_op1), (_op2))

Definition at line 454 of file ir_builder.h.

◆ ir_MAX_I16

#define ir_MAX_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_MAX, (_op1), (_op2))

Definition at line 450 of file ir_builder.h.

◆ ir_MAX_I32

#define ir_MAX_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_MAX, (_op1), (_op2))

Definition at line 451 of file ir_builder.h.

◆ ir_MAX_I64

#define ir_MAX_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_MAX, (_op1), (_op2))

Definition at line 452 of file ir_builder.h.

◆ ir_MAX_I8

#define ir_MAX_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_MAX, (_op1), (_op2))

Definition at line 449 of file ir_builder.h.

◆ ir_MAX_U16

#define ir_MAX_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_MAX, (_op1), (_op2))

Definition at line 444 of file ir_builder.h.

◆ ir_MAX_U32

#define ir_MAX_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_MAX, (_op1), (_op2))

Definition at line 445 of file ir_builder.h.

◆ ir_MAX_U64

#define ir_MAX_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_MAX, (_op1), (_op2))

Definition at line 446 of file ir_builder.h.

◆ ir_MAX_U8

#define ir_MAX_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_MAX, (_op1), (_op2))

Definition at line 443 of file ir_builder.h.

◆ ir_MERGE_2

#define ir_MERGE_2 ( _src1,
_src2 )
Value:
_ir_MERGE_2(_ir_CTX, (_src1), (_src2))
void _ir_MERGE_2(ir_ctx *ctx, ir_ref src1, ir_ref src2)
Definition ir.c:2541

Definition at line 599 of file ir_builder.h.

◆ ir_MERGE_list

#define ir_MERGE_list ( _list)
Value:
void _ir_MERGE_LIST(ir_ctx *ctx, ir_ref list)
Definition ir.c:2599

Definition at line 620 of file ir_builder.h.

◆ ir_MERGE_N

#define ir_MERGE_N ( _n,
_inputs )
Value:
_ir_MERGE_N(_ir_CTX, (_n), (_inputs))
void _ir_MERGE_N(ir_ctx *ctx, ir_ref n, ir_ref *inputs)
Definition ir.c:2547

Definition at line 600 of file ir_builder.h.

◆ ir_MERGE_SET_OP

#define ir_MERGE_SET_OP ( _ref,
_pos,
_src )
Value:
_ir_MERGE_SET_OP(_ir_CTX, (_ref), (_pos), (_src))
void _ir_MERGE_SET_OP(ir_ctx *ctx, ir_ref merge, ir_ref pos, ir_ref src)
Definition ir.c:2565

Definition at line 601 of file ir_builder.h.

◆ ir_MERGE_WITH

#define ir_MERGE_WITH ( _src2)
Value:
do {ir_ref end = ir_END(); ir_MERGE_2(end, _src2);} while (0)
int32_t ir_ref
Definition ir.h:390
#define ir_END()
Definition ir_builder.h:598
#define ir_MERGE_2(_src1, _src2)
Definition ir_builder.h:599
unsigned const char * end
Definition php_ffi.h:51

Definition at line 625 of file ir_builder.h.

◆ ir_MERGE_WITH_EMPTY_FALSE

#define ir_MERGE_WITH_EMPTY_FALSE ( _if)
Value:
do {ir_ref end = ir_END(); ir_IF_FALSE(_if); ir_MERGE_2(end, ir_END());} while (0)
#define ir_IF_FALSE(_if)
Definition ir_builder.h:596

Definition at line 627 of file ir_builder.h.

◆ ir_MERGE_WITH_EMPTY_TRUE

#define ir_MERGE_WITH_EMPTY_TRUE ( _if)
Value:
do {ir_ref end = ir_END(); ir_IF_TRUE(_if); ir_MERGE_2(end, ir_END());} while (0)
#define ir_IF_TRUE(_if)
Definition ir_builder.h:594

Definition at line 626 of file ir_builder.h.

◆ ir_MIN

#define ir_MIN ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_MIN, (_type), (_op1), (_op2))
#define IR_MIN(a, b)
Definition ir_private.h:63

Definition at line 428 of file ir_builder.h.

◆ ir_MIN_A

#define ir_MIN_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_MIN, (_op1), (_op2))

Definition at line 433 of file ir_builder.h.

◆ ir_MIN_C

#define ir_MIN_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_MIN, (_op1), (_op2))

Definition at line 434 of file ir_builder.h.

◆ ir_MIN_D

#define ir_MIN_D ( _op1,
_op2 )
Value:
ir_BINARY_OP_D(IR_MIN, (_op1), (_op2))

Definition at line 439 of file ir_builder.h.

◆ ir_MIN_F

#define ir_MIN_F ( _op1,
_op2 )
Value:
ir_BINARY_OP_F(IR_MIN, (_op1), (_op2))

Definition at line 440 of file ir_builder.h.

◆ ir_MIN_I16

#define ir_MIN_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_MIN, (_op1), (_op2))

Definition at line 436 of file ir_builder.h.

◆ ir_MIN_I32

#define ir_MIN_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_MIN, (_op1), (_op2))

Definition at line 437 of file ir_builder.h.

◆ ir_MIN_I64

#define ir_MIN_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_MIN, (_op1), (_op2))

Definition at line 438 of file ir_builder.h.

◆ ir_MIN_I8

#define ir_MIN_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_MIN, (_op1), (_op2))

Definition at line 435 of file ir_builder.h.

◆ ir_MIN_U16

#define ir_MIN_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_MIN, (_op1), (_op2))

Definition at line 430 of file ir_builder.h.

◆ ir_MIN_U32

#define ir_MIN_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_MIN, (_op1), (_op2))

Definition at line 431 of file ir_builder.h.

◆ ir_MIN_U64

#define ir_MIN_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_MIN, (_op1), (_op2))

Definition at line 432 of file ir_builder.h.

◆ ir_MIN_U8

#define ir_MIN_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_MIN, (_op1), (_op2))

Definition at line 429 of file ir_builder.h.

◆ ir_MOD

#define ir_MOD ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_MOD, (_type), (_op1), (_op2))

Definition at line 135 of file ir_builder.h.

◆ ir_MOD_A

#define ir_MOD_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_MOD, (_op1), (_op2))

Definition at line 140 of file ir_builder.h.

◆ ir_MOD_C

#define ir_MOD_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_MOD, (_op1), (_op2))

Definition at line 141 of file ir_builder.h.

◆ ir_MOD_I16

#define ir_MOD_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_MOD, (_op1), (_op2))

Definition at line 143 of file ir_builder.h.

◆ ir_MOD_I32

#define ir_MOD_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_MOD, (_op1), (_op2))

Definition at line 144 of file ir_builder.h.

◆ ir_MOD_I64

#define ir_MOD_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_MOD, (_op1), (_op2))

Definition at line 145 of file ir_builder.h.

◆ ir_MOD_I8

#define ir_MOD_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_MOD, (_op1), (_op2))

Definition at line 142 of file ir_builder.h.

◆ ir_MOD_U16

#define ir_MOD_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_MOD, (_op1), (_op2))

Definition at line 137 of file ir_builder.h.

◆ ir_MOD_U32

#define ir_MOD_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_MOD, (_op1), (_op2))

Definition at line 138 of file ir_builder.h.

◆ ir_MOD_U64

#define ir_MOD_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_MOD, (_op1), (_op2))

Definition at line 139 of file ir_builder.h.

◆ ir_MOD_U8

#define ir_MOD_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_MOD, (_op1), (_op2))

Definition at line 136 of file ir_builder.h.

◆ ir_MUL

#define ir_MUL ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_MUL, (_type), (_op1), (_op2))

Definition at line 107 of file ir_builder.h.

◆ ir_MUL_A

#define ir_MUL_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_MUL, (_op1), (_op2))

Definition at line 112 of file ir_builder.h.

◆ ir_MUL_C

#define ir_MUL_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_MUL, (_op1), (_op2))

Definition at line 113 of file ir_builder.h.

◆ ir_MUL_D

#define ir_MUL_D ( _op1,
_op2 )
Value:
ir_BINARY_OP_D(IR_MUL, (_op1), (_op2))

Definition at line 118 of file ir_builder.h.

◆ ir_MUL_F

#define ir_MUL_F ( _op1,
_op2 )
Value:
ir_BINARY_OP_F(IR_MUL, (_op1), (_op2))

Definition at line 119 of file ir_builder.h.

◆ ir_MUL_I16

#define ir_MUL_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_MUL, (_op1), (_op2))

Definition at line 115 of file ir_builder.h.

◆ ir_MUL_I32

#define ir_MUL_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_MUL, (_op1), (_op2))

Definition at line 116 of file ir_builder.h.

◆ ir_MUL_I64

#define ir_MUL_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_MUL, (_op1), (_op2))

Definition at line 117 of file ir_builder.h.

◆ ir_MUL_OV

#define ir_MUL_OV ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_MUL_OV, (_type), (_op1), (_op2))

Definition at line 257 of file ir_builder.h.

◆ ir_MUL_OV_A

#define ir_MUL_OV_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_MUL_OV, (_op1), (_op2))

Definition at line 262 of file ir_builder.h.

◆ ir_MUL_OV_C

#define ir_MUL_OV_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_MUL_OV, (_op1), (_op2))

Definition at line 263 of file ir_builder.h.

◆ ir_MUL_OV_I16

#define ir_MUL_OV_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_MUL_OV, (_op1), (_op2))

Definition at line 265 of file ir_builder.h.

◆ ir_MUL_OV_I32

#define ir_MUL_OV_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_MUL_OV, (_op1), (_op2))

Definition at line 266 of file ir_builder.h.

◆ ir_MUL_OV_I64

#define ir_MUL_OV_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_MUL_OV, (_op1), (_op2))

Definition at line 267 of file ir_builder.h.

◆ ir_MUL_OV_I8

#define ir_MUL_OV_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_MUL_OV, (_op1), (_op2))

Definition at line 264 of file ir_builder.h.

◆ ir_MUL_OV_U16

#define ir_MUL_OV_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_MUL_OV, (_op1), (_op2))

Definition at line 259 of file ir_builder.h.

◆ ir_MUL_OV_U32

#define ir_MUL_OV_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_MUL_OV, (_op1), (_op2))

Definition at line 260 of file ir_builder.h.

◆ ir_MUL_OV_U64

#define ir_MUL_OV_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_MUL_OV, (_op1), (_op2))

Definition at line 261 of file ir_builder.h.

◆ ir_MUL_OV_U8

#define ir_MUL_OV_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_MUL_OV, (_op1), (_op2))

Definition at line 258 of file ir_builder.h.

◆ ir_MUL_U16

#define ir_MUL_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_MUL, (_op1), (_op2))

Definition at line 109 of file ir_builder.h.

◆ ir_MUL_U32

#define ir_MUL_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_MUL, (_op1), (_op2))

Definition at line 110 of file ir_builder.h.

◆ ir_MUL_U64

#define ir_MUL_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_MUL, (_op1), (_op2))

Definition at line 111 of file ir_builder.h.

◆ ir_MUL_U8

#define ir_MUL_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_MUL, (_op1), (_op2))

Definition at line 108 of file ir_builder.h.

◆ ir_NE

#define ir_NE ( _op1,
_op2 )
Value:
ir_CMP_OP(IR_NE, (_op1), (_op2))

Definition at line 67 of file ir_builder.h.

◆ ir_NEG

#define ir_NEG ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_NEG, (_type), (_op1))

Definition at line 147 of file ir_builder.h.

◆ ir_NEG_C

#define ir_NEG_C ( _op1)
Value:
ir_UNARY_OP_C(IR_NEG, (_op1))

Definition at line 148 of file ir_builder.h.

◆ ir_NEG_D

#define ir_NEG_D ( _op1)
Value:
ir_UNARY_OP_D(IR_NEG, (_op1))

Definition at line 153 of file ir_builder.h.

◆ ir_NEG_F

#define ir_NEG_F ( _op1)
Value:
ir_UNARY_OP_F(IR_NEG, (_op1))

Definition at line 154 of file ir_builder.h.

◆ ir_NEG_I16

#define ir_NEG_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_NEG, (_op1))

Definition at line 150 of file ir_builder.h.

◆ ir_NEG_I32

#define ir_NEG_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_NEG, (_op1))

Definition at line 151 of file ir_builder.h.

◆ ir_NEG_I64

#define ir_NEG_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_NEG, (_op1))

Definition at line 152 of file ir_builder.h.

◆ ir_NEG_I8

#define ir_NEG_I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_NEG, (_op1))

Definition at line 149 of file ir_builder.h.

◆ ir_NOP

#define ir_NOP ( )
Value:
ir_emit0(_ir_CTX, IR_NOP)
ir_ref ir_emit0(ir_ctx *ctx, uint32_t opt)
Definition ir.c:824

Definition at line 18 of file ir_builder.h.

◆ ir_NOT

#define ir_NOT ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_NOT, (_type), (_op1))

Definition at line 271 of file ir_builder.h.

◆ ir_NOT_A

#define ir_NOT_A ( _op1)
Value:
ir_UNARY_OP_A(IR_NOT, (_op1))

Definition at line 277 of file ir_builder.h.

◆ ir_NOT_B

#define ir_NOT_B ( _op1)
Value:
ir_UNARY_OP_B(IR_NOT, (_op1))

Definition at line 272 of file ir_builder.h.

◆ ir_NOT_C

#define ir_NOT_C ( _op1)
Value:
ir_UNARY_OP_C(IR_NOT, (_op1))

Definition at line 278 of file ir_builder.h.

◆ ir_NOT_I16

#define ir_NOT_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_NOT, (_op1))

Definition at line 280 of file ir_builder.h.

◆ ir_NOT_I32

#define ir_NOT_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_NOT, (_op1))

Definition at line 281 of file ir_builder.h.

◆ ir_NOT_I64

#define ir_NOT_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_NOT, (_op1))

Definition at line 282 of file ir_builder.h.

◆ ir_NOT_I8

#define ir_NOT_I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_NOT, (_op1))

Definition at line 279 of file ir_builder.h.

◆ ir_NOT_U16

#define ir_NOT_U16 ( _op1)
Value:
ir_UNARY_OP_U16(IR_NOT, (_op1))

Definition at line 274 of file ir_builder.h.

◆ ir_NOT_U32

#define ir_NOT_U32 ( _op1)
Value:
ir_UNARY_OP_U32(IR_NOT, (_op1))

Definition at line 275 of file ir_builder.h.

◆ ir_NOT_U64

#define ir_NOT_U64 ( _op1)
Value:
ir_UNARY_OP_U64(IR_NOT, (_op1))

Definition at line 276 of file ir_builder.h.

◆ ir_NOT_U8

#define ir_NOT_U8 ( _op1)
Value:
ir_UNARY_OP_U8(IR_NOT, (_op1))

Definition at line 273 of file ir_builder.h.

◆ ir_NUL_I8

#define ir_NUL_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_MUL, (_op1), (_op2))

Definition at line 114 of file ir_builder.h.

◆ ir_OR

#define ir_OR ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_OR, (_type), (_op1), (_op2))

Definition at line 284 of file ir_builder.h.

◆ ir_OR_A

#define ir_OR_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_OR, (_op1), (_op2))

Definition at line 290 of file ir_builder.h.

◆ ir_OR_B

#define ir_OR_B ( _op1,
_op2 )
Value:
ir_BINARY_OP_B(IR_OR, (_op1), (_op2))

Definition at line 285 of file ir_builder.h.

◆ ir_OR_C

#define ir_OR_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_OR, (_op1), (_op2))

Definition at line 291 of file ir_builder.h.

◆ ir_OR_I16

#define ir_OR_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_OR, (_op1), (_op2))

Definition at line 293 of file ir_builder.h.

◆ ir_OR_I32

#define ir_OR_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_OR, (_op1), (_op2))

Definition at line 294 of file ir_builder.h.

◆ ir_OR_I64

#define ir_OR_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_OR, (_op1), (_op2))

Definition at line 295 of file ir_builder.h.

◆ ir_OR_I8

#define ir_OR_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_OR, (_op1), (_op2))

Definition at line 292 of file ir_builder.h.

◆ ir_OR_U16

#define ir_OR_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_OR, (_op1), (_op2))

Definition at line 287 of file ir_builder.h.

◆ ir_OR_U32

#define ir_OR_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_OR, (_op1), (_op2))

Definition at line 288 of file ir_builder.h.

◆ ir_OR_U64

#define ir_OR_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_OR, (_op1), (_op2))

Definition at line 289 of file ir_builder.h.

◆ ir_OR_U8

#define ir_OR_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_OR, (_op1), (_op2))

Definition at line 286 of file ir_builder.h.

◆ ir_OVERFLOW

#define ir_OVERFLOW ( _op1)
Value:
ir_fold1(_ir_CTX, IR_OPT(IR_OVERFLOW, IR_BOOL), (_op1))
ir_ref ir_fold1(ir_ctx *ctx, uint32_t opt, ir_ref op1)
Definition ir.c:1062

Definition at line 269 of file ir_builder.h.

◆ ir_PARAM

#define ir_PARAM ( _type,
_name,
_num )
Value:
_ir_PARAM(_ir_CTX, (_type), (_name), (_num))
ir_ref _ir_PARAM(ir_ctx *ctx, ir_type type, const char *name, ir_ref num)
Definition ir.c:2291

Definition at line 508 of file ir_builder.h.

◆ ir_PHI_2

#define ir_PHI_2 ( type,
_src1,
_src2 )
Value:
_ir_PHI_2(_ir_CTX, type, (_src1), (_src2))
ir_ref _ir_PHI_2(ir_ctx *ctx, ir_type type, ir_ref src1, ir_ref src2)
Definition ir.c:2316

Definition at line 470 of file ir_builder.h.

◆ ir_PHI_list

#define ir_PHI_list ( _list)
Value:
ir_ref _ir_PHI_LIST(ir_ctx *ctx, ir_ref list)
Definition ir.c:2638

Definition at line 623 of file ir_builder.h.

◆ ir_PHI_N

#define ir_PHI_N ( type,
_n,
_inputs )
Value:
_ir_PHI_N(_ir_CTX, type, (_n), (_inputs))
ir_ref _ir_PHI_N(ir_ctx *ctx, ir_type type, ir_ref n, ir_ref *inputs)
Definition ir.c:2326

Definition at line 471 of file ir_builder.h.

◆ ir_PHI_SET_OP

#define ir_PHI_SET_OP ( _ref,
_pos,
_src )
Value:
_ir_PHI_SET_OP(_ir_CTX, (_ref), (_pos), (_src))
void _ir_PHI_SET_OP(ir_ctx *ctx, ir_ref phi, ir_ref pos, ir_ref src)
Definition ir.c:2362

Definition at line 472 of file ir_builder.h.

◆ ir_RETURN

#define ir_RETURN ( _val)
Value:
void _ir_RETURN(ir_ctx *ctx, ir_ref val)
Definition ir.c:2970

Definition at line 607 of file ir_builder.h.

◆ ir_RLOAD

#define ir_RLOAD ( _type,
_reg )
Value:
_ir_RLOAD(_ir_CTX, (_type), (_reg))
ir_ref _ir_RLOAD(ir_ctx *ctx, ir_type type, ir_ref reg)
Definition ir.c:3120

Definition at line 547 of file ir_builder.h.

◆ ir_RLOAD_A

#define ir_RLOAD_A ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_ADDR, (_reg))

Definition at line 553 of file ir_builder.h.

◆ ir_RLOAD_B

#define ir_RLOAD_B ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_BOOL, (_reg))

Definition at line 548 of file ir_builder.h.

◆ ir_RLOAD_C

#define ir_RLOAD_C ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_CHAR, (_reg))

Definition at line 554 of file ir_builder.h.

◆ ir_RLOAD_D

#define ir_RLOAD_D ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_DOUBLE, (_reg))

Definition at line 559 of file ir_builder.h.

◆ ir_RLOAD_F

#define ir_RLOAD_F ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_FLOAT, (_reg))

Definition at line 560 of file ir_builder.h.

◆ ir_RLOAD_I16

#define ir_RLOAD_I16 ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_I16, (_reg))

Definition at line 556 of file ir_builder.h.

◆ ir_RLOAD_I32

#define ir_RLOAD_I32 ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_I32, (_reg))

Definition at line 557 of file ir_builder.h.

◆ ir_RLOAD_I64

#define ir_RLOAD_I64 ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_I64, (_reg))

Definition at line 558 of file ir_builder.h.

◆ ir_RLOAD_I8

#define ir_RLOAD_I8 ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_I8, (_reg))

Definition at line 555 of file ir_builder.h.

◆ ir_RLOAD_U16

#define ir_RLOAD_U16 ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_U16, (_reg))

Definition at line 550 of file ir_builder.h.

◆ ir_RLOAD_U32

#define ir_RLOAD_U32 ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_U32, (_reg))

Definition at line 551 of file ir_builder.h.

◆ ir_RLOAD_U64

#define ir_RLOAD_U64 ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_U64, (_reg))

Definition at line 552 of file ir_builder.h.

◆ ir_RLOAD_U8

#define ir_RLOAD_U8 ( _reg)
Value:
_ir_RLOAD(_ir_CTX, IR_U8, (_reg))

Definition at line 549 of file ir_builder.h.

◆ ir_ROL

#define ir_ROL ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_ROL, (_type), (_op1), (_op2))

Definition at line 359 of file ir_builder.h.

◆ ir_ROL_A

#define ir_ROL_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_ROL, (_op1), (_op2))

Definition at line 364 of file ir_builder.h.

◆ ir_ROL_C

#define ir_ROL_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_ROL, (_op1), (_op2))

Definition at line 365 of file ir_builder.h.

◆ ir_ROL_I16

#define ir_ROL_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_ROL, (_op1), (_op2))

Definition at line 367 of file ir_builder.h.

◆ ir_ROL_I32

#define ir_ROL_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_ROL, (_op1), (_op2))

Definition at line 368 of file ir_builder.h.

◆ ir_ROL_I64

#define ir_ROL_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_ROL, (_op1), (_op2))

Definition at line 369 of file ir_builder.h.

◆ ir_ROL_I8

#define ir_ROL_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_ROL, (_op1), (_op2))

Definition at line 366 of file ir_builder.h.

◆ ir_ROL_U16

#define ir_ROL_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_ROL, (_op1), (_op2))

Definition at line 361 of file ir_builder.h.

◆ ir_ROL_U32

#define ir_ROL_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_ROL, (_op1), (_op2))

Definition at line 362 of file ir_builder.h.

◆ ir_ROL_U64

#define ir_ROL_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_ROL, (_op1), (_op2))

Definition at line 363 of file ir_builder.h.

◆ ir_ROL_U8

#define ir_ROL_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_ROL, (_op1), (_op2))

Definition at line 360 of file ir_builder.h.

◆ ir_ROR

#define ir_ROR ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_ROR, (_type), (_op1), (_op2))

Definition at line 371 of file ir_builder.h.

◆ ir_ROR_A

#define ir_ROR_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_ROR, (_op1), (_op2))

Definition at line 376 of file ir_builder.h.

◆ ir_ROR_C

#define ir_ROR_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_ROR, (_op1), (_op2))

Definition at line 377 of file ir_builder.h.

◆ ir_ROR_I16

#define ir_ROR_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_ROR, (_op1), (_op2))

Definition at line 379 of file ir_builder.h.

◆ ir_ROR_I32

#define ir_ROR_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_ROR, (_op1), (_op2))

Definition at line 380 of file ir_builder.h.

◆ ir_ROR_I64

#define ir_ROR_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_ROR, (_op1), (_op2))

Definition at line 381 of file ir_builder.h.

◆ ir_ROR_I8

#define ir_ROR_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_ROR, (_op1), (_op2))

Definition at line 378 of file ir_builder.h.

◆ ir_ROR_U16

#define ir_ROR_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_ROR, (_op1), (_op2))

Definition at line 373 of file ir_builder.h.

◆ ir_ROR_U32

#define ir_ROR_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_ROR, (_op1), (_op2))

Definition at line 374 of file ir_builder.h.

◆ ir_ROR_U64

#define ir_ROR_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_ROR, (_op1), (_op2))

Definition at line 375 of file ir_builder.h.

◆ ir_ROR_U8

#define ir_ROR_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_ROR, (_op1), (_op2))

Definition at line 372 of file ir_builder.h.

◆ ir_RSTORE

#define ir_RSTORE ( _reg,
_val )
Value:
_ir_RSTORE(_ir_CTX, (_reg), (_val))
void _ir_RSTORE(ir_ctx *ctx, ir_ref reg, ir_ref val)
Definition ir.c:3126

Definition at line 561 of file ir_builder.h.

◆ ir_SAR

#define ir_SAR ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_SAR, (_type), (_op1), (_op2))

Definition at line 347 of file ir_builder.h.

◆ ir_SAR_A

#define ir_SAR_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_SAR, (_op1), (_op2))

Definition at line 352 of file ir_builder.h.

◆ ir_SAR_C

#define ir_SAR_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_SAR, (_op1), (_op2))

Definition at line 353 of file ir_builder.h.

◆ ir_SAR_I16

#define ir_SAR_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_SAR, (_op1), (_op2))

Definition at line 355 of file ir_builder.h.

◆ ir_SAR_I32

#define ir_SAR_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_SAR, (_op1), (_op2))

Definition at line 356 of file ir_builder.h.

◆ ir_SAR_I64

#define ir_SAR_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_SAR, (_op1), (_op2))

Definition at line 357 of file ir_builder.h.

◆ ir_SAR_I8

#define ir_SAR_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_SAR, (_op1), (_op2))

Definition at line 354 of file ir_builder.h.

◆ ir_SAR_U16

#define ir_SAR_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_SAR, (_op1), (_op2))

Definition at line 349 of file ir_builder.h.

◆ ir_SAR_U32

#define ir_SAR_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_SAR, (_op1), (_op2))

Definition at line 350 of file ir_builder.h.

◆ ir_SAR_U64

#define ir_SAR_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_SAR, (_op1), (_op2))

Definition at line 351 of file ir_builder.h.

◆ ir_SAR_U8

#define ir_SAR_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_SAR, (_op1), (_op2))

Definition at line 348 of file ir_builder.h.

◆ ir_SEXT

#define ir_SEXT ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_SEXT, (_type), (_op1))

Definition at line 165 of file ir_builder.h.

◆ ir_SEXT_A

#define ir_SEXT_A ( _op1)
Value:
ir_UNARY_OP_A(IR_SEXT, (_op1))

Definition at line 170 of file ir_builder.h.

◆ ir_SEXT_C

#define ir_SEXT_C ( _op1)
Value:
ir_UNARY_OP_C(IR_SEXT, (_op1))

Definition at line 171 of file ir_builder.h.

◆ ir_SEXT_I16

#define ir_SEXT_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_SEXT, (_op1))

Definition at line 173 of file ir_builder.h.

◆ ir_SEXT_I32

#define ir_SEXT_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_SEXT, (_op1))

Definition at line 174 of file ir_builder.h.

◆ ir_SEXT_I64

#define ir_SEXT_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_SEXT, (_op1))

Definition at line 175 of file ir_builder.h.

◆ ir_SEXT_I8

#define ir_SEXT_I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_SEXT, (_op1))

Definition at line 172 of file ir_builder.h.

◆ ir_SEXT_U16

#define ir_SEXT_U16 ( _op1)
Value:
ir_UNARY_OP_U16(IR_SEXT, (_op1))

Definition at line 167 of file ir_builder.h.

◆ ir_SEXT_U32

#define ir_SEXT_U32 ( _op1)
Value:
ir_UNARY_OP_U32(IR_SEXT, (_op1))

Definition at line 168 of file ir_builder.h.

◆ ir_SEXT_U64

#define ir_SEXT_U64 ( _op1)
Value:
ir_UNARY_OP_U64(IR_SEXT, (_op1))

Definition at line 169 of file ir_builder.h.

◆ ir_SEXT_U8

#define ir_SEXT_U8 ( _op1)
Value:
ir_UNARY_OP_U8(IR_SEXT, (_op1))

Definition at line 166 of file ir_builder.h.

◆ ir_SHL

#define ir_SHL ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_SHL, (_type), (_op1), (_op2))

Definition at line 323 of file ir_builder.h.

◆ ir_SHL_A

#define ir_SHL_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_SHL, (_op1), (_op2))

Definition at line 328 of file ir_builder.h.

◆ ir_SHL_C

#define ir_SHL_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_SHL, (_op1), (_op2))

Definition at line 329 of file ir_builder.h.

◆ ir_SHL_I16

#define ir_SHL_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_SHL, (_op1), (_op2))

Definition at line 331 of file ir_builder.h.

◆ ir_SHL_I32

#define ir_SHL_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_SHL, (_op1), (_op2))

Definition at line 332 of file ir_builder.h.

◆ ir_SHL_I64

#define ir_SHL_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_SHL, (_op1), (_op2))

Definition at line 333 of file ir_builder.h.

◆ ir_SHL_I8

#define ir_SHL_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_SHL, (_op1), (_op2))

Definition at line 330 of file ir_builder.h.

◆ ir_SHL_U16

#define ir_SHL_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_SHL, (_op1), (_op2))

Definition at line 325 of file ir_builder.h.

◆ ir_SHL_U32

#define ir_SHL_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_SHL, (_op1), (_op2))

Definition at line 326 of file ir_builder.h.

◆ ir_SHL_U64

#define ir_SHL_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_SHL, (_op1), (_op2))

Definition at line 327 of file ir_builder.h.

◆ ir_SHL_U8

#define ir_SHL_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_SHL, (_op1), (_op2))

Definition at line 324 of file ir_builder.h.

◆ ir_SHR

#define ir_SHR ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_SHR, (_type), (_op1), (_op2))

Definition at line 335 of file ir_builder.h.

◆ ir_SHR_A

#define ir_SHR_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_SHR, (_op1), (_op2))

Definition at line 340 of file ir_builder.h.

◆ ir_SHR_C

#define ir_SHR_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_SHR, (_op1), (_op2))

Definition at line 341 of file ir_builder.h.

◆ ir_SHR_I16

#define ir_SHR_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_SHR, (_op1), (_op2))

Definition at line 343 of file ir_builder.h.

◆ ir_SHR_I32

#define ir_SHR_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_SHR, (_op1), (_op2))

Definition at line 344 of file ir_builder.h.

◆ ir_SHR_I64

#define ir_SHR_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_SHR, (_op1), (_op2))

Definition at line 345 of file ir_builder.h.

◆ ir_SHR_I8

#define ir_SHR_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_SHR, (_op1), (_op2))

Definition at line 342 of file ir_builder.h.

◆ ir_SHR_U16

#define ir_SHR_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_SHR, (_op1), (_op2))

Definition at line 337 of file ir_builder.h.

◆ ir_SHR_U32

#define ir_SHR_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_SHR, (_op1), (_op2))

Definition at line 338 of file ir_builder.h.

◆ ir_SHR_U64

#define ir_SHR_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_SHR, (_op1), (_op2))

Definition at line 339 of file ir_builder.h.

◆ ir_SHR_U8

#define ir_SHR_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_SHR, (_op1), (_op2))

Definition at line 336 of file ir_builder.h.

◆ ir_SNAPSHOT

#define ir_SNAPSHOT ( _n)
Value:
ir_ref _ir_SNAPSHOT(ir_ctx *ctx, ir_ref n)
Definition ir.c:3040

Definition at line 614 of file ir_builder.h.

◆ ir_SNAPSHOT_SET_OP

#define ir_SNAPSHOT_SET_OP ( _s,
_pos,
_v )
Value:
_ir_SNAPSHOT_SET_OP(_ir_CTX, (_s), (_pos), (_v))
void _ir_SNAPSHOT_SET_OP(ir_ctx *ctx, ir_ref snapshot, ir_ref pos, ir_ref val)
Definition ir.c:3051

Definition at line 615 of file ir_builder.h.

◆ ir_START

#define ir_START ( )
Value:
void _ir_START(ir_ctx *ctx)
Definition ir.c:2374

Definition at line 590 of file ir_builder.h.

◆ ir_STORE

#define ir_STORE ( _addr,
_val )
Value:
_ir_STORE(_ir_CTX, (_addr), (_val))
void _ir_STORE(ir_ctx *ctx, ir_ref addr, ir_ref val)
Definition ir.c:3156

Definition at line 576 of file ir_builder.h.

◆ ir_SUB

#define ir_SUB ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_SUB, (_type), (_op1), (_op2))

Definition at line 93 of file ir_builder.h.

◆ ir_SUB_A

#define ir_SUB_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_SUB, (_op1), (_op2))

Definition at line 98 of file ir_builder.h.

◆ ir_SUB_C

#define ir_SUB_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_SUB, (_op1), (_op2))

Definition at line 99 of file ir_builder.h.

◆ ir_SUB_D

#define ir_SUB_D ( _op1,
_op2 )
Value:
ir_BINARY_OP_D(IR_SUB, (_op1), (_op2))

Definition at line 104 of file ir_builder.h.

◆ ir_SUB_F

#define ir_SUB_F ( _op1,
_op2 )
Value:
ir_BINARY_OP_F(IR_SUB, (_op1), (_op2))

Definition at line 105 of file ir_builder.h.

◆ ir_SUB_I16

#define ir_SUB_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_SUB, (_op1), (_op2))

Definition at line 101 of file ir_builder.h.

◆ ir_SUB_I32

#define ir_SUB_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_SUB, (_op1), (_op2))

Definition at line 102 of file ir_builder.h.

◆ ir_SUB_I64

#define ir_SUB_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_SUB, (_op1), (_op2))

Definition at line 103 of file ir_builder.h.

◆ ir_SUB_I8

#define ir_SUB_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_SUB, (_op1), (_op2))

Definition at line 100 of file ir_builder.h.

◆ ir_SUB_OV

#define ir_SUB_OV ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_SUB_OV, (_type), (_op1), (_op2))

Definition at line 245 of file ir_builder.h.

◆ ir_SUB_OV_A

#define ir_SUB_OV_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_SUB_OV, (_op1), (_op2))

Definition at line 250 of file ir_builder.h.

◆ ir_SUB_OV_C

#define ir_SUB_OV_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_SUB_OV, (_op1), (_op2))

Definition at line 251 of file ir_builder.h.

◆ ir_SUB_OV_I16

#define ir_SUB_OV_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_SUB_OV, (_op1), (_op2))

Definition at line 253 of file ir_builder.h.

◆ ir_SUB_OV_I32

#define ir_SUB_OV_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_SUB_OV, (_op1), (_op2))

Definition at line 254 of file ir_builder.h.

◆ ir_SUB_OV_I64

#define ir_SUB_OV_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_SUB_OV, (_op1), (_op2))

Definition at line 255 of file ir_builder.h.

◆ ir_SUB_OV_I8

#define ir_SUB_OV_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_SUB_OV, (_op1), (_op2))

Definition at line 252 of file ir_builder.h.

◆ ir_SUB_OV_U16

#define ir_SUB_OV_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_SUB_OV, (_op1), (_op2))

Definition at line 247 of file ir_builder.h.

◆ ir_SUB_OV_U32

#define ir_SUB_OV_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_SUB_OV, (_op1), (_op2))

Definition at line 248 of file ir_builder.h.

◆ ir_SUB_OV_U64

#define ir_SUB_OV_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_SUB_OV, (_op1), (_op2))

Definition at line 249 of file ir_builder.h.

◆ ir_SUB_OV_U8

#define ir_SUB_OV_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_SUB_OV, (_op1), (_op2))

Definition at line 246 of file ir_builder.h.

◆ ir_SUB_U16

#define ir_SUB_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_SUB, (_op1), (_op2))

Definition at line 95 of file ir_builder.h.

◆ ir_SUB_U32

#define ir_SUB_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_SUB, (_op1), (_op2))

Definition at line 96 of file ir_builder.h.

◆ ir_SUB_U64

#define ir_SUB_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_SUB, (_op1), (_op2))

Definition at line 97 of file ir_builder.h.

◆ ir_SUB_U8

#define ir_SUB_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_SUB, (_op1), (_op2))

Definition at line 94 of file ir_builder.h.

◆ ir_SWITCH

#define ir_SWITCH ( _val)
Value:
ir_ref _ir_SWITCH(ir_ctx *ctx, ir_ref val)
Definition ir.c:2948

Definition at line 604 of file ir_builder.h.

◆ ir_TAILCALL

#define ir_TAILCALL ( type,
func )
Value:
void _ir_TAILCALL(ir_ctx *ctx, ir_type type, ir_ref func)
Definition ir.c:2806

Definition at line 520 of file ir_builder.h.

◆ ir_TAILCALL_1

#define ir_TAILCALL_1 ( type,
func,
a1 )
Value:
void _ir_TAILCALL_1(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1)
Definition ir.c:2817

Definition at line 521 of file ir_builder.h.

◆ ir_TAILCALL_2

#define ir_TAILCALL_2 ( type,
func,
a1,
a2 )
Value:
void _ir_TAILCALL_2(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2)
Definition ir.c:2828

Definition at line 522 of file ir_builder.h.

◆ ir_TAILCALL_3

#define ir_TAILCALL_3 ( type,
func,
a1,
a2,
a3 )
Value:
void _ir_TAILCALL_3(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3)
Definition ir.c:2846

Definition at line 523 of file ir_builder.h.

◆ ir_TAILCALL_4

#define ir_TAILCALL_4 ( type,
func,
a1,
a2,
a3,
a4 )
Value:
_ir_TAILCALL_4(_ir_CTX, type, func, a1, a2, a3, a4)
void _ir_TAILCALL_4(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4)
Definition ir.c:2865

Definition at line 524 of file ir_builder.h.

◆ ir_TAILCALL_5

#define ir_TAILCALL_5 ( type,
func,
a1,
a2,
a3,
a4,
a5 )
Value:
_ir_TAILCALL_5(_ir_CTX, type, func, a1, a2, a3, a4, a5)
void _ir_TAILCALL_5(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4, ir_ref arg5)
Definition ir.c:2885

Definition at line 525 of file ir_builder.h.

◆ ir_TAILCALL_6

#define ir_TAILCALL_6 ( type,
func,
a,
b,
c,
d,
e,
f )
Value:
_ir_TAILCALL_6(_ir_CTX, type, func, a, b, c, d, e, f)
void _ir_TAILCALL_6(ir_ctx *ctx, ir_type type, ir_ref func, ir_ref arg1, ir_ref arg2, ir_ref arg3, ir_ref arg4, ir_ref arg5, ir_ref arg6)
Definition ir.c:2906

Definition at line 526 of file ir_builder.h.

◆ ir_TAILCALL_N

#define ir_TAILCALL_N ( type,
func,
count,
args )
Value:
void _ir_TAILCALL_N(ir_ctx *ctx, ir_type type, ir_ref func, uint32_t count, ir_ref *args)
Definition ir.c:2928

Definition at line 527 of file ir_builder.h.

◆ ir_TLS

#define ir_TLS ( _index,
_offset )
Value:
_ir_TLS(_ir_CTX, (_index), (_offset))
ir_ref _ir_TLS(ir_ctx *ctx, ir_ref index, ir_ref offset)
Definition ir.c:3114

Definition at line 577 of file ir_builder.h.

◆ ir_TRAP

#define ir_TRAP ( )
Value:
do {_ir_CTX->control = ir_emit1(_ir_CTX, IR_TRAP, _ir_CTX->control);} while (0)
ir_ref ir_emit1(ir_ctx *ctx, uint32_t opt, ir_ref op1)
Definition ir.c:829

Definition at line 578 of file ir_builder.h.

◆ ir_TRUNC

#define ir_TRUNC ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_TRUNC, (_type), (_op1))

Definition at line 189 of file ir_builder.h.

◆ ir_TRUNC_A

#define ir_TRUNC_A ( _op1)
Value:
ir_UNARY_OP_A(IR_TRUNC, (_op1))

Definition at line 194 of file ir_builder.h.

◆ ir_TRUNC_C

#define ir_TRUNC_C ( _op1)
Value:
ir_UNARY_OP_C(IR_TRUNC, (_op1))

Definition at line 195 of file ir_builder.h.

◆ ir_TRUNC_I16

#define ir_TRUNC_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_TRUNC, (_op1))

Definition at line 197 of file ir_builder.h.

◆ ir_TRUNC_I32

#define ir_TRUNC_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_TRUNC, (_op1))

Definition at line 198 of file ir_builder.h.

◆ ir_TRUNC_I64

#define ir_TRUNC_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_TRUNC, (_op1))

Definition at line 199 of file ir_builder.h.

◆ ir_TRUNC_I8

#define ir_TRUNC_I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_TRUNC, (_op1))

Definition at line 196 of file ir_builder.h.

◆ ir_TRUNC_U16

#define ir_TRUNC_U16 ( _op1)
Value:
ir_UNARY_OP_U16(IR_TRUNC, (_op1))

Definition at line 191 of file ir_builder.h.

◆ ir_TRUNC_U32

#define ir_TRUNC_U32 ( _op1)
Value:
ir_UNARY_OP_U32(IR_TRUNC, (_op1))

Definition at line 192 of file ir_builder.h.

◆ ir_TRUNC_U64

#define ir_TRUNC_U64 ( _op1)
Value:
ir_UNARY_OP_U64(IR_TRUNC, (_op1))

Definition at line 193 of file ir_builder.h.

◆ ir_TRUNC_U8

#define ir_TRUNC_U8 ( _op1)
Value:
ir_UNARY_OP_U8(IR_TRUNC, (_op1))

Definition at line 190 of file ir_builder.h.

◆ ir_UGE

#define ir_UGE ( _op1,
_op2 )
Value:
ir_CMP_OP(IR_UGE, (_op1), (_op2))

Definition at line 75 of file ir_builder.h.

◆ ir_UGT

#define ir_UGT ( _op1,
_op2 )
Value:
ir_CMP_OP(IR_UGT, (_op1), (_op2))

Definition at line 77 of file ir_builder.h.

◆ ir_ULE

#define ir_ULE ( _op1,
_op2 )
Value:
ir_CMP_OP(IR_ULE, (_op1), (_op2))

Definition at line 76 of file ir_builder.h.

◆ ir_ULT

#define ir_ULT ( _op1,
_op2 )
Value:
ir_CMP_OP(IR_ULT, (_op1), (_op2))

Definition at line 74 of file ir_builder.h.

◆ ir_UNARY_OP

#define ir_UNARY_OP ( _op,
_type,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), (_type)), (_op1))

Definition at line 36 of file ir_builder.h.

◆ ir_UNARY_OP_A

#define ir_UNARY_OP_A ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_ADDR), (_op1))

Definition at line 42 of file ir_builder.h.

◆ ir_UNARY_OP_B

#define ir_UNARY_OP_B ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_BOOL), (_op1))

Definition at line 37 of file ir_builder.h.

◆ ir_UNARY_OP_C

#define ir_UNARY_OP_C ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_CHAR), (_op1))

Definition at line 43 of file ir_builder.h.

◆ ir_UNARY_OP_D

#define ir_UNARY_OP_D ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_DOUBLE), (_op1))

Definition at line 48 of file ir_builder.h.

◆ ir_UNARY_OP_F

#define ir_UNARY_OP_F ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_FLOAT), (_op1))

Definition at line 49 of file ir_builder.h.

◆ ir_UNARY_OP_I16

#define ir_UNARY_OP_I16 ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_I16), (_op1))

Definition at line 45 of file ir_builder.h.

◆ ir_UNARY_OP_I32

#define ir_UNARY_OP_I32 ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_I32), (_op1))

Definition at line 46 of file ir_builder.h.

◆ ir_UNARY_OP_I64

#define ir_UNARY_OP_I64 ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_I64), (_op1))

Definition at line 47 of file ir_builder.h.

◆ ir_UNARY_OP_I8

#define ir_UNARY_OP_I8 ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_I8), (_op1))

Definition at line 44 of file ir_builder.h.

◆ ir_UNARY_OP_U16

#define ir_UNARY_OP_U16 ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_U16), (_op1))

Definition at line 39 of file ir_builder.h.

◆ ir_UNARY_OP_U32

#define ir_UNARY_OP_U32 ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_U32), (_op1))

Definition at line 40 of file ir_builder.h.

◆ ir_UNARY_OP_U64

#define ir_UNARY_OP_U64 ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_U64), (_op1))

Definition at line 41 of file ir_builder.h.

◆ ir_UNARY_OP_U8

#define ir_UNARY_OP_U8 ( _op,
_op1 )
Value:
ir_fold1(_ir_CTX, IR_OPT((_op), IR_U8), (_op1))

Definition at line 38 of file ir_builder.h.

◆ ir_UNREACHABLE

#define ir_UNREACHABLE ( )
Value:
void _ir_UNREACHABLE(ir_ctx *ctx)
Definition ir.c:2798

Definition at line 609 of file ir_builder.h.

◆ ir_VA_ARG

#define ir_VA_ARG ( _list,
_type )
Value:
_ir_VA_ARG(_ir_CTX, _type, _list)
ir_ref _ir_VA_ARG(ir_ctx *ctx, ir_type type, ir_ref list)
Definition ir.c:3190

Definition at line 588 of file ir_builder.h.

◆ ir_VA_COPY

#define ir_VA_COPY ( _dst,
_src )
Value:
_ir_VA_COPY(_ir_CTX, _dst, _src)
void _ir_VA_COPY(ir_ctx *ctx, ir_ref dst, ir_ref src)
Definition ir.c:3184

Definition at line 587 of file ir_builder.h.

◆ ir_VA_END

#define ir_VA_END ( _list)
Value:
void _ir_VA_END(ir_ctx *ctx, ir_ref list)
Definition ir.c:3178

Definition at line 586 of file ir_builder.h.

◆ ir_VA_START

#define ir_VA_START ( _list)
Value:
void _ir_VA_START(ir_ctx *ctx, ir_ref list)
Definition ir.c:3172

Definition at line 585 of file ir_builder.h.

◆ ir_VADDR

#define ir_VADDR ( _var)
Value:
ir_fold1(_ir_CTX, IR_OPT(IR_VADDR, IR_ADDR), (_var))

Definition at line 531 of file ir_builder.h.

◆ ir_VAR

#define ir_VAR ( _type,
_name )
Value:
_ir_VAR(_ir_CTX, (_type), (_name))
ir_ref _ir_VAR(ir_ctx *ctx, ir_type type, const char *name)
Definition ir.c:2299

Definition at line 509 of file ir_builder.h.

◆ ir_VLOAD

#define ir_VLOAD ( _type,
_var )
Value:
_ir_VLOAD(_ir_CTX, (_type), (_var))
ir_ref _ir_VLOAD(ir_ctx *ctx, ir_type type, ir_ref var)
Definition ir.c:3081

Definition at line 532 of file ir_builder.h.

◆ ir_VLOAD_A

#define ir_VLOAD_A ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_ADDR, (_var))

Definition at line 538 of file ir_builder.h.

◆ ir_VLOAD_B

#define ir_VLOAD_B ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_BOOL, (_var))

Definition at line 533 of file ir_builder.h.

◆ ir_VLOAD_C

#define ir_VLOAD_C ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_CHAR, (_var))

Definition at line 539 of file ir_builder.h.

◆ ir_VLOAD_D

#define ir_VLOAD_D ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_DOUBLE, (_var))

Definition at line 544 of file ir_builder.h.

◆ ir_VLOAD_F

#define ir_VLOAD_F ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_FLOAT, (_var))

Definition at line 545 of file ir_builder.h.

◆ ir_VLOAD_I16

#define ir_VLOAD_I16 ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_I16, (_var))

Definition at line 541 of file ir_builder.h.

◆ ir_VLOAD_I32

#define ir_VLOAD_I32 ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_I32, (_var))

Definition at line 542 of file ir_builder.h.

◆ ir_VLOAD_I64

#define ir_VLOAD_I64 ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_I64, (_var))

Definition at line 543 of file ir_builder.h.

◆ ir_VLOAD_I8

#define ir_VLOAD_I8 ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_I8, (_var))

Definition at line 540 of file ir_builder.h.

◆ ir_VLOAD_U16

#define ir_VLOAD_U16 ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_U16, (_var))

Definition at line 535 of file ir_builder.h.

◆ ir_VLOAD_U32

#define ir_VLOAD_U32 ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_U32, (_var))

Definition at line 536 of file ir_builder.h.

◆ ir_VLOAD_U64

#define ir_VLOAD_U64 ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_U64, (_var))

Definition at line 537 of file ir_builder.h.

◆ ir_VLOAD_U8

#define ir_VLOAD_U8 ( _var)
Value:
_ir_VLOAD(_ir_CTX, IR_U8, (_var))

Definition at line 534 of file ir_builder.h.

◆ ir_VSTORE

#define ir_VSTORE ( _var,
_val )
Value:
_ir_VSTORE(_ir_CTX, (_var), (_val))
void _ir_VSTORE(ir_ctx *ctx, ir_ref var, ir_ref val)
Definition ir.c:3102

Definition at line 546 of file ir_builder.h.

◆ ir_XOR

#define ir_XOR ( _type,
_op1,
_op2 )
Value:
ir_BINARY_OP(IR_XOR, (_type), (_op1), (_op2))

Definition at line 310 of file ir_builder.h.

◆ ir_XOR_A

#define ir_XOR_A ( _op1,
_op2 )
Value:
ir_BINARY_OP_A(IR_XOR, (_op1), (_op2))

Definition at line 316 of file ir_builder.h.

◆ ir_XOR_B

#define ir_XOR_B ( _op1,
_op2 )
Value:
ir_BINARY_OP_B(IR_XOR, (_op1), (_op2))

Definition at line 311 of file ir_builder.h.

◆ ir_XOR_C

#define ir_XOR_C ( _op1,
_op2 )
Value:
ir_BINARY_OP_C(IR_XOR, (_op1), (_op2))

Definition at line 317 of file ir_builder.h.

◆ ir_XOR_I16

#define ir_XOR_I16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I16(IR_XOR, (_op1), (_op2))

Definition at line 319 of file ir_builder.h.

◆ ir_XOR_I32

#define ir_XOR_I32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I32(IR_XOR, (_op1), (_op2))

Definition at line 320 of file ir_builder.h.

◆ ir_XOR_I64

#define ir_XOR_I64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I64(IR_XOR, (_op1), (_op2))

Definition at line 321 of file ir_builder.h.

◆ ir_XOR_I8

#define ir_XOR_I8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_I8(IR_XOR, (_op1), (_op2))

Definition at line 318 of file ir_builder.h.

◆ ir_XOR_U16

#define ir_XOR_U16 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U16(IR_XOR, (_op1), (_op2))

Definition at line 313 of file ir_builder.h.

◆ ir_XOR_U32

#define ir_XOR_U32 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U32(IR_XOR, (_op1), (_op2))

Definition at line 314 of file ir_builder.h.

◆ ir_XOR_U64

#define ir_XOR_U64 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U64(IR_XOR, (_op1), (_op2))

Definition at line 315 of file ir_builder.h.

◆ ir_XOR_U8

#define ir_XOR_U8 ( _op1,
_op2 )
Value:
ir_BINARY_OP_U8(IR_XOR, (_op1), (_op2))

Definition at line 312 of file ir_builder.h.

◆ ir_ZEXT

#define ir_ZEXT ( _type,
_op1 )
Value:
ir_UNARY_OP(IR_ZEXT, (_type), (_op1))

Definition at line 177 of file ir_builder.h.

◆ ir_ZEXT_A

#define ir_ZEXT_A ( _op1)
Value:
ir_UNARY_OP_A(IR_ZEXT, (_op1))

Definition at line 182 of file ir_builder.h.

◆ ir_ZEXT_C

#define ir_ZEXT_C ( _op1)
Value:
ir_UNARY_OP_C(IR_ZEXT, (_op1))

Definition at line 183 of file ir_builder.h.

◆ ir_ZEXT_I16

#define ir_ZEXT_I16 ( _op1)
Value:
ir_UNARY_OP_I16(IR_ZEXT, (_op1))

Definition at line 185 of file ir_builder.h.

◆ ir_ZEXT_I32

#define ir_ZEXT_I32 ( _op1)
Value:
ir_UNARY_OP_I32(IR_ZEXT, (_op1))

Definition at line 186 of file ir_builder.h.

◆ ir_ZEXT_I64

#define ir_ZEXT_I64 ( _op1)
Value:
ir_UNARY_OP_I64(IR_ZEXT, (_op1))

Definition at line 187 of file ir_builder.h.

◆ ir_ZEXT_I8

#define ir_ZEXT_I8 ( _op1)
Value:
ir_UNARY_OP_I8(IR_ZEXT, (_op1))

Definition at line 184 of file ir_builder.h.

◆ ir_ZEXT_U16

#define ir_ZEXT_U16 ( _op1)
Value:
ir_UNARY_OP_U16(IR_ZEXT, (_op1))

Definition at line 179 of file ir_builder.h.

◆ ir_ZEXT_U32

#define ir_ZEXT_U32 ( _op1)
Value:
ir_UNARY_OP_U32(IR_ZEXT, (_op1))

Definition at line 180 of file ir_builder.h.

◆ ir_ZEXT_U64

#define ir_ZEXT_U64 ( _op1)
Value:
ir_UNARY_OP_U64(IR_ZEXT, (_op1))

Definition at line 181 of file ir_builder.h.

◆ ir_ZEXT_U8

#define ir_ZEXT_U8 ( _op1)
Value:
ir_UNARY_OP_U8(IR_ZEXT, (_op1))

Definition at line 178 of file ir_builder.h.

Function Documentation

◆ _ir_ADD_OFFSET()

ir_ref _ir_ADD_OFFSET ( ir_ctx * ctx,
ir_ref addr,
uintptr_t offset )

Definition at line 2992 of file ir.c.

◆ _ir_AFREE()

void _ir_AFREE ( ir_ctx * ctx,
ir_ref size )

Definition at line 3075 of file ir.c.

◆ _ir_ALLOCA()

ir_ref _ir_ALLOCA ( ir_ctx * ctx,
ir_ref size )

Definition at line 3069 of file ir.c.

◆ _ir_BEGIN()

void _ir_BEGIN ( ir_ctx * ctx,
ir_ref src )

Definition at line 2391 of file ir.c.

◆ _ir_BLOCK_BEGIN()

ir_ref _ir_BLOCK_BEGIN ( ir_ctx * ctx)

Definition at line 3196 of file ir.c.

◆ _ir_CALL()

ir_ref _ir_CALL ( ir_ctx * ctx,
ir_type type,
ir_ref func )

Definition at line 2690 of file ir.c.

◆ _ir_CALL_1()

ir_ref _ir_CALL_1 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1 )

Definition at line 2696 of file ir.c.

◆ _ir_CALL_2()

ir_ref _ir_CALL_2 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1,
ir_ref arg2 )

Definition at line 2702 of file ir.c.

◆ _ir_CALL_3()

ir_ref _ir_CALL_3 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1,
ir_ref arg2,
ir_ref arg3 )

Definition at line 2716 of file ir.c.

◆ _ir_CALL_4()

ir_ref _ir_CALL_4 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1,
ir_ref arg2,
ir_ref arg3,
ir_ref arg4 )

Definition at line 2731 of file ir.c.

◆ _ir_CALL_5()

ir_ref _ir_CALL_5 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1,
ir_ref arg2,
ir_ref arg3,
ir_ref arg4,
ir_ref arg5 )

Definition at line 2747 of file ir.c.

◆ _ir_CALL_6()

ir_ref _ir_CALL_6 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1,
ir_ref arg2,
ir_ref arg3,
ir_ref arg4,
ir_ref arg5,
ir_ref atg6 )

Definition at line 2764 of file ir.c.

◆ _ir_CALL_N()

ir_ref _ir_CALL_N ( ir_ctx * ctx,
ir_type type,
ir_ref func,
uint32_t count,
ir_ref * args )

Definition at line 2782 of file ir.c.

◆ _ir_CASE_DEFAULT()

void _ir_CASE_DEFAULT ( ir_ctx * ctx,
ir_ref switch_ref )

Definition at line 2964 of file ir.c.

◆ _ir_CASE_VAL()

void _ir_CASE_VAL ( ir_ctx * ctx,
ir_ref switch_ref,
ir_ref val )

Definition at line 2958 of file ir.c.

◆ _ir_END()

ir_ref _ir_END ( ir_ctx * ctx)

Definition at line 2531 of file ir.c.

◆ _ir_END_LIST()

ir_ref _ir_END_LIST ( ir_ctx * ctx,
ir_ref list )

Definition at line 2575 of file ir.c.

◆ _ir_END_PHI_LIST()

ir_ref _ir_END_PHI_LIST ( ir_ctx * ctx,
ir_ref list,
ir_ref val )

Definition at line 2587 of file ir.c.

◆ _ir_ENTRY()

void _ir_ENTRY ( ir_ctx * ctx,
ir_ref src,
ir_ref num )

Definition at line 2381 of file ir.c.

◆ _ir_EXITCALL()

ir_ref _ir_EXITCALL ( ir_ctx * ctx,
ir_ref func )

Definition at line 3063 of file ir.c.

◆ _ir_GUARD()

void _ir_GUARD ( ir_ctx * ctx,
ir_ref condition,
ir_ref addr )

Definition at line 3000 of file ir.c.

◆ _ir_GUARD_NOT()

void _ir_GUARD_NOT ( ir_ctx * ctx,
ir_ref condition,
ir_ref addr )

Definition at line 3020 of file ir.c.

◆ _ir_IF()

ir_ref _ir_IF ( ir_ctx * ctx,
ir_ref condition )

Definition at line 2475 of file ir.c.

◆ _ir_IF_FALSE()

void _ir_IF_FALSE ( ir_ctx * ctx,
ir_ref if_ref )

Definition at line 2514 of file ir.c.

◆ _ir_IF_FALSE_cold()

void _ir_IF_FALSE_cold ( ir_ctx * ctx,
ir_ref if_ref )

Definition at line 2522 of file ir.c.

◆ _ir_IF_TRUE()

void _ir_IF_TRUE ( ir_ctx * ctx,
ir_ref if_ref )

Definition at line 2497 of file ir.c.

◆ _ir_IF_TRUE_cold()

void _ir_IF_TRUE_cold ( ir_ctx * ctx,
ir_ref if_ref )

Definition at line 2505 of file ir.c.

◆ _ir_IJMP()

void _ir_IJMP ( ir_ctx * ctx,
ir_ref addr )

Definition at line 2984 of file ir.c.

◆ _ir_LOAD()

ir_ref _ir_LOAD ( ir_ctx * ctx,
ir_type type,
ir_ref addr )

Definition at line 3132 of file ir.c.

◆ _ir_LOOP_BEGIN()

ir_ref _ir_LOOP_BEGIN ( ir_ctx * ctx,
ir_ref src1 )

Definition at line 2673 of file ir.c.

◆ _ir_LOOP_END()

ir_ref _ir_LOOP_END ( ir_ctx * ctx)

Definition at line 2680 of file ir.c.

◆ _ir_MERGE_2()

void _ir_MERGE_2 ( ir_ctx * ctx,
ir_ref src1,
ir_ref src2 )

Definition at line 2541 of file ir.c.

◆ _ir_MERGE_LIST()

void _ir_MERGE_LIST ( ir_ctx * ctx,
ir_ref list )

Definition at line 2599 of file ir.c.

◆ _ir_MERGE_N()

void _ir_MERGE_N ( ir_ctx * ctx,
ir_ref n,
ir_ref * inputs )

Definition at line 2547 of file ir.c.

◆ _ir_MERGE_SET_OP()

void _ir_MERGE_SET_OP ( ir_ctx * ctx,
ir_ref merge,
ir_ref pos,
ir_ref src )

Definition at line 2565 of file ir.c.

◆ _ir_PARAM()

ir_ref _ir_PARAM ( ir_ctx * ctx,
ir_type type,
const char * name,
ir_ref num )

Definition at line 2291 of file ir.c.

◆ _ir_PHI_2()

ir_ref _ir_PHI_2 ( ir_ctx * ctx,
ir_type type,
ir_ref src1,
ir_ref src2 )

Definition at line 2316 of file ir.c.

◆ _ir_PHI_LIST()

ir_ref _ir_PHI_LIST ( ir_ctx * ctx,
ir_ref list )

Definition at line 2638 of file ir.c.

◆ _ir_PHI_N()

ir_ref _ir_PHI_N ( ir_ctx * ctx,
ir_type type,
ir_ref n,
ir_ref * inputs )

Definition at line 2326 of file ir.c.

◆ _ir_PHI_SET_OP()

void _ir_PHI_SET_OP ( ir_ctx * ctx,
ir_ref phi,
ir_ref pos,
ir_ref src )

Definition at line 2362 of file ir.c.

◆ _ir_RETURN()

void _ir_RETURN ( ir_ctx * ctx,
ir_ref val )

Definition at line 2970 of file ir.c.

◆ _ir_RLOAD()

ir_ref _ir_RLOAD ( ir_ctx * ctx,
ir_type type,
ir_ref reg )

Definition at line 3120 of file ir.c.

◆ _ir_RSTORE()

void _ir_RSTORE ( ir_ctx * ctx,
ir_ref reg,
ir_ref val )

Definition at line 3126 of file ir.c.

◆ _ir_SNAPSHOT()

ir_ref _ir_SNAPSHOT ( ir_ctx * ctx,
ir_ref n )

Definition at line 3040 of file ir.c.

◆ _ir_SNAPSHOT_SET_OP()

void _ir_SNAPSHOT_SET_OP ( ir_ctx * ctx,
ir_ref snapshot,
ir_ref pos,
ir_ref val )

Definition at line 3051 of file ir.c.

◆ _ir_START()

void _ir_START ( ir_ctx * ctx)

Definition at line 2374 of file ir.c.

◆ _ir_STORE()

void _ir_STORE ( ir_ctx * ctx,
ir_ref addr,
ir_ref val )

Definition at line 3156 of file ir.c.

◆ _ir_SWITCH()

ir_ref _ir_SWITCH ( ir_ctx * ctx,
ir_ref val )

Definition at line 2948 of file ir.c.

◆ _ir_TAILCALL()

void _ir_TAILCALL ( ir_ctx * ctx,
ir_type type,
ir_ref func )

Definition at line 2806 of file ir.c.

◆ _ir_TAILCALL_1()

void _ir_TAILCALL_1 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1 )

Definition at line 2817 of file ir.c.

◆ _ir_TAILCALL_2()

void _ir_TAILCALL_2 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1,
ir_ref arg2 )

Definition at line 2828 of file ir.c.

◆ _ir_TAILCALL_3()

void _ir_TAILCALL_3 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1,
ir_ref arg2,
ir_ref arg3 )

Definition at line 2846 of file ir.c.

◆ _ir_TAILCALL_4()

void _ir_TAILCALL_4 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1,
ir_ref arg2,
ir_ref arg3,
ir_ref arg4 )

Definition at line 2865 of file ir.c.

◆ _ir_TAILCALL_5()

void _ir_TAILCALL_5 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1,
ir_ref arg2,
ir_ref arg3,
ir_ref arg4,
ir_ref arg5 )

Definition at line 2885 of file ir.c.

◆ _ir_TAILCALL_6()

void _ir_TAILCALL_6 ( ir_ctx * ctx,
ir_type type,
ir_ref func,
ir_ref arg1,
ir_ref arg2,
ir_ref arg3,
ir_ref arg4,
ir_ref arg5,
ir_ref arg6 )

Definition at line 2906 of file ir.c.

◆ _ir_TAILCALL_N()

ir_ref _ir_TAILCALL_N ( ir_ctx * ctx,
ir_type type,
ir_ref func,
uint32_t count,
ir_ref * args )

Definition at line 2928 of file ir.c.

◆ _ir_TLS()

ir_ref _ir_TLS ( ir_ctx * ctx,
ir_ref index,
ir_ref offset )

Definition at line 3114 of file ir.c.

◆ _ir_UNREACHABLE()

void _ir_UNREACHABLE ( ir_ctx * ctx)

Definition at line 2798 of file ir.c.

◆ _ir_VA_ARG()

ir_ref _ir_VA_ARG ( ir_ctx * ctx,
ir_type type,
ir_ref list )

Definition at line 3190 of file ir.c.

◆ _ir_VA_COPY()

void _ir_VA_COPY ( ir_ctx * ctx,
ir_ref dst,
ir_ref src )

Definition at line 3184 of file ir.c.

◆ _ir_VA_END()

void _ir_VA_END ( ir_ctx * ctx,
ir_ref list )

Definition at line 3178 of file ir.c.

◆ _ir_VA_START()

void _ir_VA_START ( ir_ctx * ctx,
ir_ref list )

Definition at line 3172 of file ir.c.

◆ _ir_VAR()

ir_ref _ir_VAR ( ir_ctx * ctx,
ir_type type,
const char * name )

Definition at line 2299 of file ir.c.

◆ _ir_VLOAD()

ir_ref _ir_VLOAD ( ir_ctx * ctx,
ir_type type,
ir_ref var )

Definition at line 3081 of file ir.c.

◆ _ir_VSTORE()

void _ir_VSTORE ( ir_ctx * ctx,
ir_ref var,
ir_ref val )

Definition at line 3102 of file ir.c.