aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2013-04-26 00:54:53 +0200
committerMike Pall <mike>2013-04-26 00:54:53 +0200
commit895a8bc91f1dc0c76f9cc4ae24f11bcb2ba121c3 (patch)
tree5aca518fe427c69ae712278248b50060dbaea500
parent611ec41bcaeaf6641cffe22d6c5c9ff8d12b7321 (diff)
downloadluajit-895a8bc91f1dc0c76f9cc4ae24f11bcb2ba121c3.tar.gz
luajit-895a8bc91f1dc0c76f9cc4ae24f11bcb2ba121c3.tar.bz2
luajit-895a8bc91f1dc0c76f9cc4ae24f11bcb2ba121c3.zip
Tighten requirements for non-default optimization flags.
FOLD is required for FWD/DSE optimizations.
-rw-r--r--src/lj_opt_fold.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c
index be50bf97..664550f1 100644
--- a/src/lj_opt_fold.c
+++ b/src/lj_opt_fold.c
@@ -2179,14 +2179,16 @@ TRef LJ_FASTCALL lj_opt_fold(jit_State *J)
2179 if (!(J->flags & JIT_F_OPT_FOLD) && irm_kind(lj_ir_mode[fins->o]) == IRM_N) 2179 if (!(J->flags & JIT_F_OPT_FOLD) && irm_kind(lj_ir_mode[fins->o]) == IRM_N)
2180 return lj_opt_cse(J); 2180 return lj_opt_cse(J);
2181 2181
2182 /* Forwarding or CSE disabled? Emit raw IR for loads, except for SLOAD. */ 2182 /* No FOLD, forwarding or CSE? Emit raw IR for loads, except for SLOAD. */
2183 if ((J->flags & (JIT_F_OPT_FWD|JIT_F_OPT_CSE)) != 2183 if ((J->flags & (JIT_F_OPT_FOLD|JIT_F_OPT_FWD|JIT_F_OPT_CSE)) !=
2184 (JIT_F_OPT_FWD|JIT_F_OPT_CSE) && 2184 (JIT_F_OPT_FOLD|JIT_F_OPT_FWD|JIT_F_OPT_CSE) &&
2185 irm_kind(lj_ir_mode[fins->o]) == IRM_L && fins->o != IR_SLOAD) 2185 irm_kind(lj_ir_mode[fins->o]) == IRM_L && fins->o != IR_SLOAD)
2186 return lj_ir_emit(J); 2186 return lj_ir_emit(J);
2187 2187
2188 /* DSE disabled? Emit raw IR for stores. */ 2188 /* No FOLD or DSE? Emit raw IR for stores. */
2189 if (!(J->flags & JIT_F_OPT_DSE) && irm_kind(lj_ir_mode[fins->o]) == IRM_S) 2189 if ((J->flags & (JIT_F_OPT_FOLD|JIT_F_OPT_DSE)) !=
2190 (JIT_F_OPT_FOLD|JIT_F_OPT_DSE) &&
2191 irm_kind(lj_ir_mode[fins->o]) == IRM_S)
2190 return lj_ir_emit(J); 2192 return lj_ir_emit(J);
2191 } 2193 }
2192 2194