diff options
author | Mike Pall <mike> | 2013-04-26 00:59:35 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2013-04-26 00:59:35 +0200 |
commit | bdaf14b2c114d864db53438ee713c5906ea119ea (patch) | |
tree | 455f3484c9a735cb070ed543a651eb9a5f60fac7 | |
parent | b6adfff8f4e388ea286ca4d7d8e0896c07f1cab8 (diff) | |
parent | 895a8bc91f1dc0c76f9cc4ae24f11bcb2ba121c3 (diff) | |
download | luajit-bdaf14b2c114d864db53438ee713c5906ea119ea.tar.gz luajit-bdaf14b2c114d864db53438ee713c5906ea119ea.tar.bz2 luajit-bdaf14b2c114d864db53438ee713c5906ea119ea.zip |
Merge branch 'master' into v2.1
-rw-r--r-- | src/lj_opt_fold.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index 91e9655a..20b88e25 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -2293,14 +2293,16 @@ TRef LJ_FASTCALL lj_opt_fold(jit_State *J) | |||
2293 | if (!(J->flags & JIT_F_OPT_FOLD) && irm_kind(lj_ir_mode[fins->o]) == IRM_N) | 2293 | if (!(J->flags & JIT_F_OPT_FOLD) && irm_kind(lj_ir_mode[fins->o]) == IRM_N) |
2294 | return lj_opt_cse(J); | 2294 | return lj_opt_cse(J); |
2295 | 2295 | ||
2296 | /* Forwarding or CSE disabled? Emit raw IR for loads, except for SLOAD. */ | 2296 | /* No FOLD, forwarding or CSE? Emit raw IR for loads, except for SLOAD. */ |
2297 | if ((J->flags & (JIT_F_OPT_FWD|JIT_F_OPT_CSE)) != | 2297 | if ((J->flags & (JIT_F_OPT_FOLD|JIT_F_OPT_FWD|JIT_F_OPT_CSE)) != |
2298 | (JIT_F_OPT_FWD|JIT_F_OPT_CSE) && | 2298 | (JIT_F_OPT_FOLD|JIT_F_OPT_FWD|JIT_F_OPT_CSE) && |
2299 | irm_kind(lj_ir_mode[fins->o]) == IRM_L && fins->o != IR_SLOAD) | 2299 | irm_kind(lj_ir_mode[fins->o]) == IRM_L && fins->o != IR_SLOAD) |
2300 | return lj_ir_emit(J); | 2300 | return lj_ir_emit(J); |
2301 | 2301 | ||
2302 | /* DSE disabled? Emit raw IR for stores. */ | 2302 | /* No FOLD or DSE? Emit raw IR for stores. */ |
2303 | if (!(J->flags & JIT_F_OPT_DSE) && irm_kind(lj_ir_mode[fins->o]) == IRM_S) | 2303 | if ((J->flags & (JIT_F_OPT_FOLD|JIT_F_OPT_DSE)) != |
2304 | (JIT_F_OPT_FOLD|JIT_F_OPT_DSE) && | ||
2305 | irm_kind(lj_ir_mode[fins->o]) == IRM_S) | ||
2304 | return lj_ir_emit(J); | 2306 | return lj_ir_emit(J); |
2305 | } | 2307 | } |
2306 | 2308 | ||