[m-rev.] for post-commit review: foreign_proc attribute for livenes

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Jan 3 17:03:26 AEDT 2007

On Wed, 3 Jan 2007, Zoltan Somogyi wrote:

> I looked for a section in the reference manual or user guide where the
> new foreign_proc attribute should be documented, but I can't find one.
> Instead, the documentation I found was full of references to `c_code'
> pragmas, not `foreign_procs'.

There are two sections documenting foreign code attributes, one for each
interface.  The new one uses section 13.1.2, Foreign code attributes; the old
interface uses section 14.1.4, C code attributes.  The documentation for
the new attribute should be in the former.

> Eliminates names referring to `pragma c_code' in the LLDS backend in favor
> of names referring to foreign_procs.
> Add fields to structures representing the C code itself that says whether
> or not the C code affects the liveness of lvals. This is intended as the basis
> for future improvements in the optimization of such code.
> Implement an extra foreign_proc attribute that allows programmers to set
> the value of this field.
> compiler/llds.m:
> 	Make the changes described above.
> 	Consistently put the field containing C code last in the function
> 	symbols that contain them.
> compiler/prog_data.m:
> 	Make the changes described above.
> 	Rename some other function symbols to avoid ambiguity.
> compiler/prog_io_pragma.m:
> 	Parse the new foreign_proc attribute.
> compiler/pragma_c_gen.m:
> 	Rename the main predicates.
> compiler/opt_util.m:
> 	Change some predicates into functions, for more convenient invocation.
> compiler/livemap.m:
> 	Rename the predicates in this module to avoid ambiguity and the need
> 	for module qualification.
> compiler/*.m:
> 	Conform to the changes above.

I've had a (quick) look through the diff and it seem okay.

mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au

More information about the reviews mailing list