changeset 1024:93415bcf54c0

Optimizing str1 in MonoOpt
author Adam Chlipala <adamc@hcoop.net>
date Sun, 01 Nov 2009 10:31:18 -0500
parents e46227efcbba
children 7facf72aaf0a
files src/mono_opt.sml
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/mono_opt.sml	Sun Nov 01 10:20:20 2009 -0500
+++ b/src/mono_opt.sml	Sun Nov 01 10:31:18 2009 -0500
@@ -502,6 +502,13 @@
                    | [] => raise Fail "MonoOpt impossible nil")
               | NONE => e
         end
+
+      | EFfiApp ("Basis", "str1", [(EPrim (Prim.Char ch), _)]) =>
+        EPrim (Prim.String (str ch))
+      | EFfiApp ("Basis", "attrifyString", [(EFfiApp ("Basis", "str1", [e]), _)]) =>
+        EFfiApp ("Basis", "attrifyChar", [e])
+      | EFfiApp ("Basis", "attrifyString_w", [(EFfiApp ("Basis", "str1", [e]), _)]) =>
+        EFfiApp ("Basis", "attrifyChar_w", [e])
         
       | _ => e