aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2010-02-04 21:33:24 +0100
committerMike Pall <mike>2010-02-04 21:36:32 +0100
commit370c868c311368175045e788bcdd67a8be37dd76 (patch)
treee02a9f4b49d5f34b654beff4b0b413ba1277a5be /src
parent5d2690c6084d09ed6f5bb9cdb4fc5113bb4fa512 (diff)
downloadluajit-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.h3
-rw-r--r--src/lj_opt_fold.c1
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)
1326LJFOLD(NEWREF any any) /* Treated like a store. */ 1326LJFOLD(NEWREF any any) /* Treated like a store. */
1327LJFOLD(CALLS any any) 1327LJFOLD(CALLS any any)
1328LJFOLD(CALLL any any) /* Safeguard fallback. */ 1328LJFOLD(CALLL any any) /* Safeguard fallback. */
1329LJFOLD(RETF any any) /* Modifies BASE. */
1329LJFOLD(TNEW any any) 1330LJFOLD(TNEW any any)
1330LJFOLD(TDUP any) 1331LJFOLD(TDUP any)
1331LJFOLDX(lj_ir_emit) 1332LJFOLDX(lj_ir_emit)