diff options
author | Mike Pall <mike> | 2012-07-16 23:39:49 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-07-16 23:39:49 +0200 |
commit | e44cb538745f5287d030193ab967e493ebd8f98d (patch) | |
tree | 36014b564c22fcbdae7783686bd11b13d3c53e72 /src/lj_opt_split.c | |
parent | 63bb052bbef88821cc7b24a68a680dc821bc0fb2 (diff) | |
download | luajit-e44cb538745f5287d030193ab967e493ebd8f98d.tar.gz luajit-e44cb538745f5287d030193ab967e493ebd8f98d.tar.bz2 luajit-e44cb538745f5287d030193ab967e493ebd8f98d.zip |
ARM: Invoke SPLIT pass for leftover IR_TOBIT.
Can only happen with -O-fold for TOBIT(constant).
Diffstat (limited to 'src/lj_opt_split.c')
-rw-r--r-- | src/lj_opt_split.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lj_opt_split.c b/src/lj_opt_split.c index b0da7f3a..186dc8c0 100644 --- a/src/lj_opt_split.c +++ b/src/lj_opt_split.c | |||
@@ -683,6 +683,8 @@ static int split_needsplit(jit_State *J) | |||
683 | for (ref = J->chain[IR_SLOAD]; ref; ref = IR(ref)->prev) | 683 | for (ref = J->chain[IR_SLOAD]; ref; ref = IR(ref)->prev) |
684 | if ((IR(ref)->op2 & IRSLOAD_CONVERT)) | 684 | if ((IR(ref)->op2 & IRSLOAD_CONVERT)) |
685 | return 1; | 685 | return 1; |
686 | if (J->chain[IR_TOBIT]) | ||
687 | return 1; | ||
686 | } | 688 | } |
687 | for (ref = J->chain[IR_CONV]; ref; ref = IR(ref)->prev) { | 689 | for (ref = J->chain[IR_CONV]; ref; ref = IR(ref)->prev) { |
688 | IRType st = (IR(ref)->op2 & IRCONV_SRCMASK); | 690 | IRType st = (IR(ref)->op2 & IRCONV_SRCMASK); |