[m-rev.] for post-commit review: append to .opt files in intermod.m

Zoltan Somogyi zoltan.somogyi at runbox.com
Mon Sep 14 10:44:31 AEST 2015


This diff mostly just moves code, specifically, it moves the code
that writes the results of most of the intermodule analysis passes
to one place, intermod.m. However, two things would benefit
from review.

(1) The name of the new module, term_constr_main_types.m.
If anyone has a better name, please tell me.

(2) The documentation of the term_constr_*.m modules
in compiler_design.html.

I also noticed that while several of the analyses record their
results for a procedure in the procedure's proc_info, some
store it separately. The unused_args, exception, trailing and
mm_tabling analyses all store their results in the module_info
as a map from pred_proc_ids to the proc-specific analysis results.

Would anyone object if I moved these analysis results to the
proc_infos of the procedures involved? It seems cleaner, and
would simplify some code I am planning to write, but maybe
there is a gotcha I don't know about that would make it a bad idea.

I also have another question: would anyone object if I removed
trans_opt.m, moving what little is left in there to intermod.m?
It would significantly improve intermod.m's cohesion. (Before this
diff, trans_opt.m invoked each of several analysis modules individually;
now all the invoked predicates are in intermod.m.)

Zoltan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Log.opt2
Type: application/octet-stream
Size: 2189 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20150914/ff457643/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DIFF.opt2
Type: application/octet-stream
Size: 142188 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20150914/ff457643/attachment-0001.obj>


More information about the reviews mailing list