php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
ir_emit.c File Reference
#include "ir.h"
#include "ir_private.h"
#include <dlfcn.h>

Go to the source code of this file.

Data Structures

struct  _ir_copy
 
struct  _ir_dessa_copy
 
struct  _ir_common_backend_data
 

Macros

#define DASM_M_GROW(ctx, t, p, sz, need)
 
#define DASM_M_FREE(ctx, p, sz)
 

Typedefs

typedef struct _ir_copy ir_copy
 
typedef struct _ir_dessa_copy ir_dessa_copy
 
typedef struct _ir_common_backend_data ir_common_backend_data
 

Functions

bool ir_is_fastcall (const ir_ctx *ctx, const ir_insn *insn)
 
bool ir_is_vararg (const ir_ctx *ctx, ir_insn *insn)
 
IR_ALWAYS_INLINE uint32_t ir_rule (const ir_ctx *ctx, ir_ref ref)
 
IR_ALWAYS_INLINE bool ir_in_same_block (ir_ctx *ctx, ir_ref ref)
 
voidir_resolve_sym_name (const char *name)
 
IR_ALWAYS_INLINE void ir_dessa_resolve_cycle (ir_ctx *ctx, int32_t *pred, int32_t *loc, int8_t *types, ir_bitset todo, int32_t to, ir_reg tmp_reg, ir_reg tmp_fp_reg)
 
int ir_match (ir_ctx *ctx)
 
int32_t ir_get_spill_slot_offset (ir_ctx *ctx, ir_ref ref)
 

Macro Definition Documentation

◆ DASM_M_FREE

#define DASM_M_FREE ( ctx,
p,
sz )
Value:
#define ir_mem_free
Definition ir.h:1015
p
Definition session.c:1105

Definition at line 42 of file ir_emit.c.

◆ DASM_M_GROW

#define DASM_M_GROW ( ctx,
t,
p,
sz,
need )
Value:
do { \
size_t _sz = (sz), _need = (need); \
if (_sz < _need) { \
if (_sz < 16) _sz = 16; \
while (_sz < _need) _sz += _sz; \
(p) = (t *)ir_mem_realloc((p), _sz); \
(sz) = _sz; \
} \
} while(0)
#define ir_mem_realloc
Definition ir.h:1012
while(0)

Definition at line 31 of file ir_emit.c.

Typedef Documentation

◆ ir_common_backend_data

◆ ir_copy

typedef struct _ir_copy ir_copy

◆ ir_dessa_copy

typedef struct _ir_dessa_copy ir_dessa_copy

Function Documentation

◆ ir_dessa_resolve_cycle()

IR_ALWAYS_INLINE void ir_dessa_resolve_cycle ( ir_ctx * ctx,
int32_t * pred,
int32_t * loc,
int8_t * types,
ir_bitset todo,
int32_t to,
ir_reg tmp_reg,
ir_reg tmp_fp_reg )

Definition at line 683 of file ir_emit.c.

◆ ir_get_spill_slot_offset()

int32_t ir_get_spill_slot_offset ( ir_ctx * ctx,
ir_ref ref )

Definition at line 1040 of file ir_emit.c.

◆ ir_in_same_block()

IR_ALWAYS_INLINE bool ir_in_same_block ( ir_ctx * ctx,
ir_ref ref )

Definition at line 136 of file ir_emit.c.

◆ ir_is_fastcall()

bool ir_is_fastcall ( const ir_ctx * ctx,
const ir_insn * insn )

Definition at line 114 of file ir_emit.c.

◆ ir_is_vararg()

bool ir_is_vararg ( const ir_ctx * ctx,
ir_insn * insn )

Definition at line 120 of file ir_emit.c.

◆ ir_match()

int ir_match ( ir_ctx * ctx)

Definition at line 964 of file ir_emit.c.

◆ ir_resolve_sym_name()

void * ir_resolve_sym_name ( const char * name)

Definition at line 273 of file ir_emit.c.

◆ ir_rule()

IR_ALWAYS_INLINE uint32_t ir_rule ( const ir_ctx * ctx,
ir_ref ref )

Definition at line 130 of file ir_emit.c.