Lines Matching refs:constraint

1100 			zend_ssa_range_constraint *constraint = &p->constraint.range;  in zend_inference_calc_range()  local
1101 if (constraint->negative) { in zend_inference_calc_range()
1106 if (constraint->range.min == constraint->range.max in zend_inference_calc_range()
1107 && !constraint->range.underflow in zend_inference_calc_range()
1108 && !constraint->range.overflow in zend_inference_calc_range()
1109 && p->constraint.range.min_ssa_var < 0 in zend_inference_calc_range()
1110 && p->constraint.range.max_ssa_var < 0 in zend_inference_calc_range()
1125 && ssa->var_info[p->sources[0]].range.min > constraint->range.max) { in zend_inference_calc_range()
1126 tmp->min = constraint->range.max + 1; in zend_inference_calc_range()
1139 && ssa->var_info[p->sources[0]].range.max < constraint->range.min) { in zend_inference_calc_range()
1140 tmp->max = constraint->range.min - 1; in zend_inference_calc_range()
1154 if (constraint->min_ssa_var < 0 && in zend_inference_calc_range()
1155 constraint->max_ssa_var < 0 && in zend_inference_calc_range()
1164 if (constraint->negative == NEG_USE_LT && in zend_inference_calc_range()
1165 tmp->max >= constraint->range.min) { in zend_inference_calc_range()
1167 tmp->max = constraint->range.min - 1; in zend_inference_calc_range()
1169 } else if (constraint->negative == NEG_USE_GT && in zend_inference_calc_range()
1170 tmp->min <= constraint->range.max) { in zend_inference_calc_range()
1172 tmp->min = constraint->range.max + 1; in zend_inference_calc_range()
1180 if (constraint->min_ssa_var < 0) { in zend_inference_calc_range()
1181 tmp->underflow = constraint->range.underflow && tmp->underflow; in zend_inference_calc_range()
1182 tmp->min = MAX(constraint->range.min, tmp->min); in zend_inference_calc_range()
1184 } else if (narrowing && ssa->var_info[constraint->min_ssa_var].has_range) { in zend_inference_calc_range()
1185 tmp->underflow = ssa->var_info[constraint->min_ssa_var].range.underflow && tmp->underflow; in zend_inference_calc_range()
1186 … if (!add_will_overflow(ssa->var_info[constraint->min_ssa_var].range.min, constraint->range.min)) { in zend_inference_calc_range()
1187 …tmp->min = MAX(ssa->var_info[constraint->min_ssa_var].range.min + constraint->range.min, tmp->min); in zend_inference_calc_range()
1191 if (constraint->max_ssa_var < 0) { in zend_inference_calc_range()
1192 tmp->max = MIN(constraint->range.max, tmp->max); in zend_inference_calc_range()
1193 tmp->overflow = constraint->range.overflow && tmp->overflow; in zend_inference_calc_range()
1195 } else if (narrowing && ssa->var_info[constraint->max_ssa_var].has_range) { in zend_inference_calc_range()
1196 … if (!add_will_overflow(ssa->var_info[constraint->max_ssa_var].range.max, constraint->range.max)) { in zend_inference_calc_range()
1197 …tmp->max = MIN(ssa->var_info[constraint->max_ssa_var].range.max + constraint->range.max, tmp->max); in zend_inference_calc_range()
1199 tmp->overflow = ssa->var_info[constraint->max_ssa_var].range.overflow && tmp->overflow; in zend_inference_calc_range()
1203 if (constraint->min_ssa_var < 0) { in zend_inference_calc_range()
1204 tmp->underflow = constraint->range.underflow; in zend_inference_calc_range()
1205 tmp->min = constraint->range.min; in zend_inference_calc_range()
1207 } else if (narrowing && ssa->var_info[constraint->min_ssa_var].has_range) { in zend_inference_calc_range()
1208 … if (add_will_overflow(ssa->var_info[constraint->min_ssa_var].range.min, constraint->range.min)) { in zend_inference_calc_range()
1212 tmp->underflow = ssa->var_info[constraint->min_ssa_var].range.underflow; in zend_inference_calc_range()
1213 tmp->min = ssa->var_info[constraint->min_ssa_var].range.min + constraint->range.min; in zend_inference_calc_range()
1220 if (constraint->max_ssa_var < 0) { in zend_inference_calc_range()
1221 tmp->max = constraint->range.max; in zend_inference_calc_range()
1222 tmp->overflow = constraint->range.overflow; in zend_inference_calc_range()
1224 } else if (narrowing && ssa->var_info[constraint->max_ssa_var].has_range) { in zend_inference_calc_range()
1225 … if (add_will_overflow(ssa->var_info[constraint->max_ssa_var].range.max, constraint->range.max)) { in zend_inference_calc_range()
1229 tmp->max = ssa->var_info[constraint->max_ssa_var].range.max + constraint->range.max; in zend_inference_calc_range()
1230 tmp->overflow = ssa->var_info[constraint->max_ssa_var].range.overflow; in zend_inference_calc_range()
1794 ssa->vars[j].definition_phi->constraint.range.negative && in zend_infer_ranges_warmup()
1795 ssa->vars[j].definition_phi->constraint.range.min_ssa_var < 0 && in zend_infer_ranges_warmup()
1796 ssa->vars[j].definition_phi->constraint.range.max_ssa_var < 0) { in zend_infer_ranges_warmup()
1797 zend_ssa_range_constraint *constraint = in zend_infer_ranges_warmup() local
1798 &ssa->vars[j].definition_phi->constraint.range; in zend_infer_ranges_warmup()
1801 if (constraint->negative == NEG_INIT) { in zend_infer_ranges_warmup()
1803 constraint->negative = NEG_INVARIANT; in zend_infer_ranges_warmup()
1807 tmp.max < constraint->range.min) { in zend_infer_ranges_warmup()
1808 if (constraint->negative == NEG_INIT || in zend_infer_ranges_warmup()
1809 constraint->negative == NEG_INVARIANT) { in zend_infer_ranges_warmup()
1811 constraint->negative = NEG_USE_LT; in zend_infer_ranges_warmup()
1813 } else if (constraint->negative == NEG_USE_GT) { in zend_infer_ranges_warmup()
1815 constraint->negative = NEG_UNKNOWN; in zend_infer_ranges_warmup()
1819 tmp.min > constraint->range.max) { in zend_infer_ranges_warmup()
1820 if (constraint->negative == NEG_INIT || in zend_infer_ranges_warmup()
1821 constraint->negative == NEG_INVARIANT) { in zend_infer_ranges_warmup()
1823 constraint->negative = NEG_USE_GT; in zend_infer_ranges_warmup()
1825 } else if (constraint->negative == NEG_USE_LT) { in zend_infer_ranges_warmup()
1827 constraint->negative = NEG_UNKNOWN; in zend_infer_ranges_warmup()
1831 constraint->negative = NEG_UNKNOWN; in zend_infer_ranges_warmup()
3977 zend_ssa_type_constraint *constraint = &p->constraint.type; in zend_infer_types_ex() local
3978 tmp &= constraint->type_mask; in zend_infer_types_ex()
3982 if ((tmp & MAY_BE_OBJECT) && constraint->ce && ce != constraint->ce) { in zend_infer_types_ex()
3984 ce = constraint->ce; in zend_infer_types_ex()
3986 } else if (is_instanceof && instanceof_function(constraint->ce, ce)) { in zend_infer_types_ex()
3987 ce = constraint->ce; in zend_infer_types_ex()