[m-rev.] for review: fix some test case failures in deep profiling grades
Julien Fischer
juliensf at cs.mu.OZ.AU
Tue May 2 17:49:24 AEST 2006
On Tue, 2 May 2006, Zoltan Somogyi wrote:
> compiler/lookup_switch.m:
> Fix two bugs that caused test case failures in deep profiling grades.
>
> One bug was that an acquired register wasn't being released before
> the creation of a resume point, which rebuilds the code generator state
> (and thus forgets about acquired registers).
>
> The other bug was that is_lookup_switch wasn't performing the actions
> generate_goal would have when processing goals. In particular, it
> wasn't invoking pre_goal_update and post_goal_update on disjunctions
> inside the switch.
>
> compiler/lookup_util.m:
> Do not standardize goals by removing scopes from around other goals,
> because this could also remove the effects of the code generator
> annotations (e.g. liveness changes such as pre-births) on the scope
> goal.
>
> compiler/simplify.m:
> Eliminate those redundant scopes if asked to do so. Since this is done
> before the code generator annotations are put on goals, this is safe.
>
> compiler/code_gen.m:
> compiler/proc_gen.m:
> Divide the old code_gen.m into two modules: the new code_gen.m
> concerned with generating code for goals, and the new module proc_gen.m
> concerned with generating code for procedures. Without this, the code
> for handling goals is lost inside the old code_gen.m module.
cvs add proc_gen.m
> compiler/ll_backend.m:
> Include the new module.
>
> compiler/mercury_compile.m:
> Import proc_gen instead of code_gen, and ask simplify to eliminate
> unnecessary scopes before code generation.
>
> compiler/middle_rec.m:
> Update a reference to a predicate now in proc_gen.m.
>
> compiler/notes/compiler_design.html:
> Document the new module.
That looks fine - (I assume proc_gen.m is almost all code that used to be
in code_gen.m).
Julien.
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list