Procházet zdrojové kódy

Fix ABC elimination.

Mike Pall před 12 roky
rodič
revize
474bb21af1
1 změnil soubory, kde provedl 2 přidání a 1 odebrání
  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;
 }