summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bytecomp/discr.ml1
-rw-r--r--bytecomp/heuristic.ml4
2 files changed, 4 insertions, 1 deletions
diff --git a/bytecomp/discr.ml b/bytecomp/discr.ml
index 3aa51d7f84..3907da60c8 100644
--- a/bytecomp/discr.ml
+++ b/bytecomp/discr.ml
@@ -28,6 +28,7 @@ type discr =
let p_discr chan = function
| Variant (lab,_,_) -> Printf.fprintf chan "`%s" lab
| _ -> ()
+
let arity d = match d with
| Constant _ -> 0
| Construct c -> c.cstr_arity
diff --git a/bytecomp/heuristic.ml b/bytecomp/heuristic.ml
index 7abe3b84ef..7736a04628 100644
--- a/bytecomp/heuristic.ml
+++ b/bytecomp/heuristic.ml
@@ -385,7 +385,9 @@ let build h xs mat =
| 'p' -> directions xs mat
| 'q' -> prefix xs mat
| 'r' -> nrows xs mat
- | 'L' -> (fun ks -> [left xs ks])
+ | 'N' -> (fun ks -> [left xs ks])
+ | 'L' -> (fun ks -> [leftright xs ks])
+ | 'R' -> (fun ks -> [rightleft xs ks])
| 'i' -> (fun x -> x)
| c -> Misc.fatal_error (sprintf "Bad heuristic: %c" c) in
compose h1 h2 in