annotate lab4/share.mli @ 1:b5139af1a420 tip basis

Fixed permissions on compile scripts
author Mike Spivey <mike@cs.ox.ac.uk>
date Fri, 13 Oct 2017 17:27:58 +0100
parents bfdcc3820b32
children
rev   line source
mike@0 1 (* lab4/share.mli *)
mike@0 2 (* Copyright (c) 2017 J. M. Spivey *)
mike@0 3
mike@0 4 (* The function |traverse| transforms a list of optrees by finding
mike@0 5 common subexpressions; for each of them, it allocates a temp with
mike@0 6 an initializing assignment, then replaces all occurrences of the
mike@0 7 subexpression with a use of the temp. Procedure calls are also moved
mike@0 8 to the top level by a similar mechanism. *)
mike@0 9
mike@0 10 (* |traverse| -- find common subexpressions in a procedure body *)
mike@0 11 val traverse : Optree.optree list -> Optree.optree list