view lab4/share.mli @ 4:9f5c8e19f204 tip basis

Oops: fix for lab0
author Mike Spivey <>
date Mon, 15 Oct 2018 21:58:03 +0100
parents 5dd13b8deb54
line wrap: on
line source
(* lab4/share.mli *)
(* Copyright (c) 2017 J. M. Spivey *)

(* The function |traverse| transforms a list of optrees by finding 
   common subexpressions; for each of them, it allocates a temp with
   an initializing assignment, then replaces all occurrences of the
   subexpression with a use of the temp.  Procedure calls are also moved
   to the top level by a similar mechanism. *)

(* |traverse| -- find common subexpressions in a procedure body *)
val traverse : Optree.optree list -> Optree.optree list