1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 18:53:33 +02:00

Merge branch 'PHP-8.0'

* PHP-8.0:
  Fixed incorrect invariant guard motion
This commit is contained in:
Dmitry Stogov
2020-11-11 17:35:14 +03:00
+2 -1
View File
@@ -2197,7 +2197,8 @@ propagate_arg:
ssa_var_info[phi->sources[0]].type = MAY_BE_GUARD | (t & t0);
}
if ((t1 & (MAY_BE_ANY|MAY_BE_UNDEF|MAY_BE_REF)) != (t & (MAY_BE_ANY|MAY_BE_UNDEF|MAY_BE_REF))) {
if (is_checked_guard(tssa, ssa_opcodes, phi->sources[1], phi->ssa_var)) {
if (((t & t1) & (MAY_BE_ANY|MAY_BE_UNDEF|MAY_BE_REF)) != 0
&& is_checked_guard(tssa, ssa_opcodes, phi->sources[1], phi->ssa_var)) {
ssa_var_info[phi->sources[1]].type = MAY_BE_GUARD | (t & t1);
ssa_var_info[phi->ssa_var].type = t & ~MAY_BE_GUARD;
}