for review: deforestation [5/4]

Simon Taylor stayl at cs.mu.OZ.AU
Fri Feb 20 09:21:31 AEDT 1998


Hi,

This was accidentally left out of the diff I sent yesterday.

Simon.

Index: compiler_design.html
===================================================================
RCS file: /home/staff/zs/imp/mercury/compiler/notes/compiler_design.html,v
retrieving revision 1.17
diff -u -r1.17 compiler_design.html
--- compiler_design.html	1998/01/10 09:14:51	1.17
+++ compiler_design.html	1998/02/19 22:12:20
@@ -414,6 +414,25 @@
 <li> pushing constraints as far left as possible (constraint.m);
   this does not yet work.
 
+<li> deforestation and partial evaluation (deforest.m). This optimizes
+  multiple traversals of data structures within a conjunction, and
+  avoids creating intermediate data structures. It also performs
+  loop unrolling where the clause used is known at compile time.
+  <ul>
+  <li>
+  pd_cost.m contains some predicates to estimate the improvement
+  caused by deforest.m.
+  <li>
+  pd_debug.m produces debugging output.
+  <li>
+  pd_info.m contains a state type for deforestation.
+  <li>
+  pd_term.m contains predicates to check that the deforestation algorithm
+  terminates.
+  <li>
+  pd_util.m contains various utility predicates.
+  </ul>
+
 <li> issue warnings about unused arguments from predicates, and create
   specialized versions without them (unused_args.m); type_infos are
   often unused



More information about the developers mailing list