diff options
-rw-r--r-- | src/lj_opt_fold.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index b437d672..98ec28c6 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -2171,6 +2171,17 @@ LJFOLD(CNEW any any) | |||
2171 | LJFOLD(XSNEW any any) | 2171 | LJFOLD(XSNEW any any) |
2172 | LJFOLDX(lj_ir_emit) | 2172 | LJFOLDX(lj_ir_emit) |
2173 | 2173 | ||
2174 | /* -- Miscellaneous ------------------------------------------------------- */ | ||
2175 | |||
2176 | LJFOLD(CARG any any) | ||
2177 | LJFOLDF(cse_carg) | ||
2178 | { | ||
2179 | TRef tr = lj_opt_cse(J); | ||
2180 | if (tref_ref(tr) < J->chain[IR_LOOP]) /* CSE across loop? */ | ||
2181 | return EMITFOLD; /* Raw emit. Assumes fins is left intact by CSE. */ | ||
2182 | return tr; | ||
2183 | } | ||
2184 | |||
2174 | /* ------------------------------------------------------------------------ */ | 2185 | /* ------------------------------------------------------------------------ */ |
2175 | 2186 | ||
2176 | /* Every entry in the generated hash table is a 32 bit pattern: | 2187 | /* Every entry in the generated hash table is a 32 bit pattern: |