diff options
| author | Mike Pall <mike> | 2016-06-05 12:54:53 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2016-06-05 12:54:53 +0200 |
| commit | a88dc57995a55d1b9a04db4822caf46acc840ca0 (patch) | |
| tree | 41d60c276665a1ce2d9760b9a672415fecbbd3e0 /src | |
| parent | ce1ad870c3d9536c759ecada89717c3317d56a3d (diff) | |
| parent | a7bec69a7593b2887a6d1d8dd13272aa005c36fa (diff) | |
| download | luajit-a88dc57995a55d1b9a04db4822caf46acc840ca0.tar.gz luajit-a88dc57995a55d1b9a04db4822caf46acc840ca0.tar.bz2 luajit-a88dc57995a55d1b9a04db4822caf46acc840ca0.zip | |
Merge branch 'master' into v2.1
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_opt_sink.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/lj_opt_sink.c b/src/lj_opt_sink.c index 1b775f2d..af05ef46 100644 --- a/src/lj_opt_sink.c +++ b/src/lj_opt_sink.c | |||
| @@ -153,10 +153,9 @@ static void sink_remark_phi(jit_State *J) | |||
| 153 | remark = 0; | 153 | remark = 0; |
| 154 | for (ir = IR(J->cur.nins-1); ir->o == IR_PHI; ir--) { | 154 | for (ir = IR(J->cur.nins-1); ir->o == IR_PHI; ir--) { |
| 155 | IRIns *irl = IR(ir->op1), *irr = IR(ir->op2); | 155 | IRIns *irl = IR(ir->op1), *irr = IR(ir->op2); |
| 156 | if (((irl->t.irt ^ irr->t.irt) & IRT_MARK)) | 156 | if (!((irl->t.irt ^ irr->t.irt) & IRT_MARK) && irl->prev == irr->prev) |
| 157 | remark = 1; | ||
| 158 | else if (irl->prev == irr->prev) | ||
| 159 | continue; | 157 | continue; |
| 158 | remark |= (~(irl->t.irt & irr->t.irt) & IRT_MARK); | ||
| 160 | irt_setmark(IR(ir->op1)->t); | 159 | irt_setmark(IR(ir->op1)->t); |
| 161 | irt_setmark(IR(ir->op2)->t); | 160 | irt_setmark(IR(ir->op2)->t); |
| 162 | } | 161 | } |
