Lines Matching refs:ssa

40 …bool _ssa_##opN##_has_range(const zend_op_array *op_array, const zend_ssa *ssa, const zend_op *opl…
47 ssa->var_info && \
49 ssa->var_info[ssa_op->opN##_use].has_range); \
55 …long _ssa_##opN##_min_range(const zend_op_array *op_array, const zend_ssa *ssa, const zend_op *opl…
63 ssa->var_info && \
65 ssa->var_info[ssa_op->opN##_use].has_range) { \
66 return ssa->var_info[ssa_op->opN##_use].range.min; \
72 …long _ssa_##opN##_max_range(const zend_op_array *op_array, const zend_ssa *ssa, const zend_op *opl…
80 ssa->var_info && \
82 ssa->var_info[ssa_op->opN##_use].has_range) { \
83 return ssa->var_info[ssa_op->opN##_use].range.max; \
89 …ssa_##opN##_range_underflow(const zend_op_array *op_array, const zend_ssa *ssa, const zend_op *opl…
97 ssa->var_info && \
99 ssa->var_info[ssa_op->opN##_use].has_range) { \
100 return ssa->var_info[ssa_op->opN##_use].range.underflow; \
106 …_ssa_##opN##_range_overflow(const zend_op_array *op_array, const zend_ssa *ssa, const zend_op *opl…
114 ssa->var_info && \
116 ssa->var_info[ssa_op->opN##_use].has_range) { \
117 return ssa->var_info[ssa_op->opN##_use].range.overflow; \
133 #define OP1_HAS_RANGE() (_ssa_op1_has_range (op_array, ssa, opline, ssa_op))
134 #define OP1_MIN_RANGE() (_ssa_op1_min_range (op_array, ssa, opline, ssa_op))
135 #define OP1_MAX_RANGE() (_ssa_op1_max_range (op_array, ssa, opline, ssa_op))
136 #define OP1_RANGE_UNDERFLOW() (_ssa_op1_range_underflow (op_array, ssa, opline, ssa_op))
137 #define OP1_RANGE_OVERFLOW() (_ssa_op1_range_overflow (op_array, ssa, opline, ssa_op))
138 #define OP2_HAS_RANGE() (_ssa_op2_has_range (op_array, ssa, opline, ssa_op))
139 #define OP2_MIN_RANGE() (_ssa_op2_min_range (op_array, ssa, opline, ssa_op))
140 #define OP2_MAX_RANGE() (_ssa_op2_max_range (op_array, ssa, opline, ssa_op))
141 #define OP2_RANGE_UNDERFLOW() (_ssa_op2_range_underflow (op_array, ssa, opline, ssa_op))
142 #define OP2_RANGE_OVERFLOW() (_ssa_op2_range_overflow (op_array, ssa, opline, ssa_op))
165 static zend_always_inline uint32_t get_ssa_var_info(const zend_ssa *ssa, int ssa_var_num) in get_ssa_var_info() argument
167 if (ssa->var_info && ssa_var_num >= 0) { in get_ssa_var_info()
168 return ssa->var_info[ssa_var_num].type; in get_ssa_var_info()
175 … uint32_t _ssa_##opN##_info(const zend_op_array *op_array, const zend_ssa *ssa, const zend_op *opl…
180 return get_ssa_var_info(ssa, ssa->var_info ? ssa_op->opN##_use : -1); \
185 …t32_t _ssa_##opN##_def_info(const zend_op_array *op_array, const zend_ssa *ssa, const zend_op *opl…
187 return get_ssa_var_info(ssa, ssa->var_info ? ssa_op->opN##_def : -1); \
198 #define OP1_INFO() (_ssa_op1_info(op_array, ssa, opline, ssa_op)) in DEFINE_SSA_OP_INFO()
199 #define OP2_INFO() (_ssa_op2_info(op_array, ssa, opline, ssa_op)) in DEFINE_SSA_OP_INFO()
200 #define OP1_DATA_INFO() (_ssa_op1_info(op_array, ssa, (opline+1), ssa_op ? (ssa_op+1) : NULL)) in DEFINE_SSA_OP_INFO()
201 #define OP2_DATA_INFO() (_ssa_op2_info(op_array, ssa, (opline+1), ssa_op ? (ssa_op+1) : NULL)) in DEFINE_SSA_OP_INFO()
202 #define RES_USE_INFO() (_ssa_result_info(op_array, ssa, opline, ssa_op)) in DEFINE_SSA_OP_INFO()
203 #define OP1_DEF_INFO() (_ssa_op1_def_info(op_array, ssa, opline, ssa_op)) in DEFINE_SSA_OP_INFO()
204 #define OP2_DEF_INFO() (_ssa_op2_def_info(op_array, ssa, opline, ssa_op)) in DEFINE_SSA_OP_INFO()
205 #define OP1_DATA_DEF_INFO() (_ssa_op1_def_info(op_array, ssa, (opline+1), ssa_op ? (ssa_op+1) : NU… in DEFINE_SSA_OP_INFO()
206 #define OP2_DATA_DEF_INFO() (_ssa_op2_def_info(op_array, ssa, (opline+1), ssa_op ? (ssa_op+1) : NU… in DEFINE_SSA_OP_INFO()
207 #define RES_INFO() (_ssa_result_def_info(op_array, ssa, opline, ssa_op)) in DEFINE_SSA_OP_INFO()
220 ZEND_API void zend_ssa_find_false_dependencies(const zend_op_array *op_array, zend_ssa *ssa);
221 ZEND_API void zend_ssa_find_sccs(const zend_op_array *op_array, zend_ssa *ssa);
222 …raena, const zend_op_array *op_array, const zend_script *script, zend_ssa *ssa, zend_long optimiza…
226 ZEND_API bool zend_inference_propagate_range(const zend_op_array *op_array, const zend_ssa *ssa, co…
236 … const zend_ssa_op *ssa_op, const zend_op_array *op_array, const zend_ssa *ssa, uint32_t t1, uint3…
237 …st zend_op *opline, const zend_ssa_op *ssa_op, const zend_op_array *op_array, const zend_ssa *ssa);
240 const zend_op_array *op_array, zend_ssa *ssa, const zend_script *script,