Explorar o código

Fix ABC elimination.

Mike Pall %!s(int64=12) %!d(string=hai) anos
pai
achega
474bb21af1
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      src/lj_opt_fold.c

+ 2 - 1
src/lj_opt_fold.c

@@ -1699,7 +1699,8 @@ LJFOLDF(abc_k)
 LJFOLD(ABC any any)
 LJFOLDF(abc_invar)
 {
-  if (!irt_isint(fins->t) && J->chain[IR_LOOP])  /* Currently marked as PTR. */
+  /* Invariant ABC marked as PTR. Drop if op1 is invariant, too. */
+  if (!irt_isint(fins->t) && fins->op1 < J->chain[IR_LOOP])
     return DROPFOLD;
   return NEXTFOLD;
 }