summaryrefslogtreecommitdiff
path: root/src/lj_jit.h
diff options
context:
space:
mode:
authorMike Pall <mike>2012-07-02 23:47:12 +0200
committerMike Pall <mike>2012-07-02 23:47:12 +0200
commit0af3f47ba01b9634f75a1aee38e318d74dab53d0 (patch)
tree1ab064739041d279a54f89f396ae03bc9cf89864 /src/lj_jit.h
parent79e1eaa73b1bb8dd0e2ea7aeaba8504f89e5ff94 (diff)
downloadluajit2-0af3f47ba01b9634f75a1aee38e318d74dab53d0.tar.gz
Add allocation sinking and store sinking optimization.
Diffstat (limited to 'src/lj_jit.h')
-rw-r--r--src/lj_jit.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lj_jit.h b/src/lj_jit.h
index 28cdd17a..517b3264 100644
--- a/src/lj_jit.h
+++ b/src/lj_jit.h
@@ -63,19 +63,20 @@
#define JIT_F_OPT_NARROW 0x00200000
#define JIT_F_OPT_LOOP 0x00400000
#define JIT_F_OPT_ABC 0x00800000
-#define JIT_F_OPT_FUSE 0x01000000
+#define JIT_F_OPT_SINK 0x01000000
+#define JIT_F_OPT_FUSE 0x02000000
/* Optimizations names for -O. Must match the order above. */
#define JIT_F_OPT_FIRST JIT_F_OPT_FOLD
#define JIT_F_OPTSTRING \
- "\4fold\3cse\3dce\3fwd\3dse\6narrow\4loop\3abc\4fuse"
+ "\4fold\3cse\3dce\3fwd\3dse\6narrow\4loop\3abc\4sink\4fuse"
/* Optimization levels set a fixed combination of flags. */
#define JIT_F_OPT_0 0
#define JIT_F_OPT_1 (JIT_F_OPT_FOLD|JIT_F_OPT_CSE|JIT_F_OPT_DCE)
#define JIT_F_OPT_2 (JIT_F_OPT_1|JIT_F_OPT_NARROW|JIT_F_OPT_LOOP)
-#define JIT_F_OPT_3 \
- (JIT_F_OPT_2|JIT_F_OPT_FWD|JIT_F_OPT_DSE|JIT_F_OPT_ABC|JIT_F_OPT_FUSE)
+#define JIT_F_OPT_3 (JIT_F_OPT_2|\
+ JIT_F_OPT_FWD|JIT_F_OPT_DSE|JIT_F_OPT_ABC|JIT_F_OPT_SINK|JIT_F_OPT_FUSE)
#define JIT_F_OPT_DEFAULT JIT_F_OPT_3
#if LJ_TARGET_WINDOWS || LJ_64