aboutsummaryrefslogtreecommitdiff
path: root/src/lj_opt_fold.c
diff options
context:
space:
mode:
authorMike Pall <mike>2011-04-05 16:31:48 +0200
committerMike Pall <mike>2011-04-05 16:31:48 +0200
commit3acd4892e96fb73a751852a079537adc3fd2d560 (patch)
tree4d0c3be6ac80ae32f5d56c16e34103d22b609562 /src/lj_opt_fold.c
parent48438b9e13e8a9ce19dea37a75d29c015968c619 (diff)
downloadluajit-3acd4892e96fb73a751852a079537adc3fd2d560.tar.gz
luajit-3acd4892e96fb73a751852a079537adc3fd2d560.tar.bz2
luajit-3acd4892e96fb73a751852a079537adc3fd2d560.zip
Add FOLD rule for FLOAT->NUM->FLOAT conversions.
Diffstat (limited to '')
-rw-r--r--src/lj_opt_fold.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c
index edd376c9..44a55709 100644
--- a/src/lj_opt_fold.c
+++ b/src/lj_opt_fold.c
@@ -914,6 +914,15 @@ LJFOLDF(simplify_conv_int_i64)
914 return NEXTFOLD; 914 return NEXTFOLD;
915} 915}
916 916
917LJFOLD(CONV CONV IRCONV_NUM_FLOAT) /* _NUM */
918LJFOLDF(simplify_conv_flt_num)
919{
920 PHIBARRIER(fleft);
921 if ((fleft->op2 & IRCONV_SRCMASK) == IRT_NUM)
922 return fleft->op1;
923 return NEXTFOLD;
924}
925
917/* Shortcut TOBIT + IRT_NUM <- IRT_INT/IRT_U32 conversion. */ 926/* Shortcut TOBIT + IRT_NUM <- IRT_INT/IRT_U32 conversion. */
918LJFOLD(TOBIT CONV KNUM) 927LJFOLD(TOBIT CONV KNUM)
919LJFOLDF(simplify_tobit_conv) 928LJFOLDF(simplify_tobit_conv)