diff options
author | Mike Pall <mike> | 2010-02-04 21:33:24 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-02-04 21:36:32 +0100 |
commit | 370c868c311368175045e788bcdd67a8be37dd76 (patch) | |
tree | e02a9f4b49d5f34b654beff4b0b413ba1277a5be /src | |
parent | 5d2690c6084d09ed6f5bb9cdb4fc5113bb4fa512 (diff) | |
download | luajit-370c868c311368175045e788bcdd67a8be37dd76.tar.gz luajit-370c868c311368175045e788bcdd67a8be37dd76.tar.bz2 luajit-370c868c311368175045e788bcdd67a8be37dd76.zip |
RETF modifies BASE. Treat it like a store or it gets CSEd.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_ir.h | 3 | ||||
-rw-r--r-- | src/lj_opt_fold.c | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/lj_ir.h b/src/lj_ir.h index e110607d..75519ed4 100644 --- a/src/lj_ir.h +++ b/src/lj_ir.h | |||
@@ -34,7 +34,7 @@ | |||
34 | _(NE, GC, ref, ref) \ | 34 | _(NE, GC, ref, ref) \ |
35 | \ | 35 | \ |
36 | _(ABC, G , ref, ref) \ | 36 | _(ABC, G , ref, ref) \ |
37 | _(RETF, G , ref, ref) \ | 37 | _(RETF, SG, ref, ref) \ |
38 | \ | 38 | \ |
39 | _(LT, G , ref, ref) \ | 39 | _(LT, G , ref, ref) \ |
40 | _(GE, G , ref, ref) \ | 40 | _(GE, G , ref, ref) \ |
@@ -288,6 +288,7 @@ typedef enum { | |||
288 | #define IRM_GC (IRM_G|IRM_C) | 288 | #define IRM_GC (IRM_G|IRM_C) |
289 | #define IRM_RG (IRM_R|IRM_G) | 289 | #define IRM_RG (IRM_R|IRM_G) |
290 | #define IRM_LG (IRM_L|IRM_G) | 290 | #define IRM_LG (IRM_L|IRM_G) |
291 | #define IRM_SG (IRM_S|IRM_G) | ||
291 | 292 | ||
292 | #define irm_op1(m) (cast(IRMode, (m)&3)) | 293 | #define irm_op1(m) (cast(IRMode, (m)&3)) |
293 | #define irm_op2(m) (cast(IRMode, ((m)>>2)&3)) | 294 | #define irm_op2(m) (cast(IRMode, ((m)>>2)&3)) |
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index a8550e1f..818979b8 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -1326,6 +1326,7 @@ LJFOLDX(lj_opt_dse_fstore) | |||
1326 | LJFOLD(NEWREF any any) /* Treated like a store. */ | 1326 | LJFOLD(NEWREF any any) /* Treated like a store. */ |
1327 | LJFOLD(CALLS any any) | 1327 | LJFOLD(CALLS any any) |
1328 | LJFOLD(CALLL any any) /* Safeguard fallback. */ | 1328 | LJFOLD(CALLL any any) /* Safeguard fallback. */ |
1329 | LJFOLD(RETF any any) /* Modifies BASE. */ | ||
1329 | LJFOLD(TNEW any any) | 1330 | LJFOLD(TNEW any any) |
1330 | LJFOLD(TDUP any) | 1331 | LJFOLD(TDUP any) |
1331 | LJFOLDX(lj_ir_emit) | 1332 | LJFOLDX(lj_ir_emit) |