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)
downloadluajit-0af3f47ba01b9634f75a1aee38e318d74dab53d0.tar.gz
luajit-0af3f47ba01b9634f75a1aee38e318d74dab53d0.tar.bz2
luajit-0af3f47ba01b9634f75a1aee38e318d74dab53d0.zip
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 @@
63#define JIT_F_OPT_NARROW 0x00200000 63#define JIT_F_OPT_NARROW 0x00200000
64#define JIT_F_OPT_LOOP 0x00400000 64#define JIT_F_OPT_LOOP 0x00400000
65#define JIT_F_OPT_ABC 0x00800000 65#define JIT_F_OPT_ABC 0x00800000
66#define JIT_F_OPT_FUSE 0x01000000 66#define JIT_F_OPT_SINK 0x01000000
67#define JIT_F_OPT_FUSE 0x02000000
67 68
68/* Optimizations names for -O. Must match the order above. */ 69/* Optimizations names for -O. Must match the order above. */
69#define JIT_F_OPT_FIRST JIT_F_OPT_FOLD 70#define JIT_F_OPT_FIRST JIT_F_OPT_FOLD
70#define JIT_F_OPTSTRING \ 71#define JIT_F_OPTSTRING \
71 "\4fold\3cse\3dce\3fwd\3dse\6narrow\4loop\3abc\4fuse" 72 "\4fold\3cse\3dce\3fwd\3dse\6narrow\4loop\3abc\4sink\4fuse"
72 73
73/* Optimization levels set a fixed combination of flags. */ 74/* Optimization levels set a fixed combination of flags. */
74#define JIT_F_OPT_0 0 75#define JIT_F_OPT_0 0
75#define JIT_F_OPT_1 (JIT_F_OPT_FOLD|JIT_F_OPT_CSE|JIT_F_OPT_DCE) 76#define JIT_F_OPT_1 (JIT_F_OPT_FOLD|JIT_F_OPT_CSE|JIT_F_OPT_DCE)
76#define JIT_F_OPT_2 (JIT_F_OPT_1|JIT_F_OPT_NARROW|JIT_F_OPT_LOOP) 77#define JIT_F_OPT_2 (JIT_F_OPT_1|JIT_F_OPT_NARROW|JIT_F_OPT_LOOP)
77#define JIT_F_OPT_3 \ 78#define JIT_F_OPT_3 (JIT_F_OPT_2|\
78 (JIT_F_OPT_2|JIT_F_OPT_FWD|JIT_F_OPT_DSE|JIT_F_OPT_ABC|JIT_F_OPT_FUSE) 79 JIT_F_OPT_FWD|JIT_F_OPT_DSE|JIT_F_OPT_ABC|JIT_F_OPT_SINK|JIT_F_OPT_FUSE)
79#define JIT_F_OPT_DEFAULT JIT_F_OPT_3 80#define JIT_F_OPT_DEFAULT JIT_F_OPT_3
80 81
81#if LJ_TARGET_WINDOWS || LJ_64 82#if LJ_TARGET_WINDOWS || LJ_64