php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_ssa.c File Reference
#include "zend_compile.h"
#include "zend_dfg.h"
#include "zend_ssa.h"
#include "zend_dump.h"
#include "zend_inference.h"
#include "Optimizer/zend_optimizer_internal.h"

Go to the source code of this file.

Functions

ZEND_API int zend_ssa_rename_op (const zend_op_array *op_array, const zend_op *opline, uint32_t k, uint32_t build_flags, int ssa_vars_count, zend_ssa_op *ssa_ops, int *var)
 
ZEND_API zend_result zend_build_ssa (zend_arena **arena, const zend_script *script, const zend_op_array *op_array, uint32_t build_flags, zend_ssa *ssa)
 
ZEND_API void zend_ssa_compute_use_def_chains (zend_arena **arena, const zend_op_array *op_array, zend_ssa *ssa)
 
void zend_ssa_unlink_use_chain (zend_ssa *ssa, int op, int var)
 
void zend_ssa_replace_use_chain (zend_ssa *ssa, int op, int new_op, int var)
 
void zend_ssa_remove_instr (zend_ssa *ssa, zend_op *opline, zend_ssa_op *ssa_op)
 
void zend_ssa_remove_defs_of_instr (zend_ssa *ssa, zend_ssa_op *ssa_op)
 
void zend_ssa_remove_phi (zend_ssa *ssa, zend_ssa_phi *phi)
 
void zend_ssa_remove_uses_of_var (zend_ssa *ssa, int var_num)
 
void zend_ssa_remove_predecessor (zend_ssa *ssa, int from, int to)
 
void zend_ssa_remove_block (zend_op_array *op_array, zend_ssa *ssa, int i)
 
void zend_ssa_remove_block_from_cfg (zend_ssa *ssa, int i)
 
void zend_ssa_rename_var_uses (zend_ssa *ssa, int old, int new, bool update_types)
 

Function Documentation

◆ zend_build_ssa()

ZEND_API zend_result zend_build_ssa ( zend_arena ** arena,
const zend_script * script,
const zend_op_array * op_array,
uint32_t build_flags,
zend_ssa * ssa )

Definition at line 936 of file zend_ssa.c.

◆ zend_ssa_compute_use_def_chains()

ZEND_API void zend_ssa_compute_use_def_chains ( zend_arena ** arena,
const zend_op_array * op_array,
zend_ssa * ssa )

Definition at line 1084 of file zend_ssa.c.

◆ zend_ssa_remove_block()

void zend_ssa_remove_block ( zend_op_array * op_array,
zend_ssa * ssa,
int i )

Definition at line 1501 of file zend_ssa.c.

◆ zend_ssa_remove_block_from_cfg()

void zend_ssa_remove_block_from_cfg ( zend_ssa * ssa,
int i )

Definition at line 1530 of file zend_ssa.c.

◆ zend_ssa_remove_defs_of_instr()

void zend_ssa_remove_defs_of_instr ( zend_ssa * ssa,
zend_ssa_op * ssa_op )

Definition at line 1364 of file zend_ssa.c.

◆ zend_ssa_remove_instr()

void zend_ssa_remove_instr ( zend_ssa * ssa,
zend_op * opline,
zend_ssa_op * ssa_op )

Definition at line 1281 of file zend_ssa.c.

◆ zend_ssa_remove_phi()

void zend_ssa_remove_phi ( zend_ssa * ssa,
zend_ssa_phi * phi )

Definition at line 1410 of file zend_ssa.c.

◆ zend_ssa_remove_predecessor()

void zend_ssa_remove_predecessor ( zend_ssa * ssa,
int from,
int to )

Definition at line 1455 of file zend_ssa.c.

◆ zend_ssa_remove_uses_of_var()

void zend_ssa_remove_uses_of_var ( zend_ssa * ssa,
int var_num )

Definition at line 1422 of file zend_ssa.c.

◆ zend_ssa_rename_op()

ZEND_API int zend_ssa_rename_op ( const zend_op_array * op_array,
const zend_op * opline,
uint32_t k,
uint32_t build_flags,
int ssa_vars_count,
zend_ssa_op * ssa_ops,
int * var )

Definition at line 813 of file zend_ssa.c.

◆ zend_ssa_rename_var_uses()

void zend_ssa_rename_var_uses ( zend_ssa * ssa,
int old,
int new,
bool update_types )

Definition at line 1595 of file zend_ssa.c.

◆ zend_ssa_replace_use_chain()

void zend_ssa_replace_use_chain ( zend_ssa * ssa,
int op,
int new_op,
int var )

Definition at line 1241 of file zend_ssa.c.

◆ zend_ssa_unlink_use_chain()

void zend_ssa_unlink_use_chain ( zend_ssa * ssa,
int op,
int var )

Definition at line 1202 of file zend_ssa.c.