浏览代码

Fix ABC elimination.

Mike Pall 12 年之前
父节点
当前提交
474bb21af1
共有 1 个文件被更改,包括 2 次插入1 次删除
  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;
 }