[m-rev.] for review: liveness assertion failure with CTGC

Julien Fischer juliensf at csse.unimelb.edu.au
Thu Jan 31 11:03:32 AEDT 2008

On Thu, 31 Jan 2008, Peter Wang wrote:

> On 2008-01-30, Julien Fischer <juliensf at csse.unimelb.edu.au> wrote:
>>  On Wed, 30 Jan 2008, Julien Fischer wrote:
>>> Rather than duplicating part of the functionality of simplify in the
>>> liveness analysis, why not just add an extra invocation of simplify
>>> before structure_reuse?  (this extra pass could be made
>>> conditional on --structure-reuse, or whaever the appropriate options
>>> are.)
>>> IMO, there is a small maintainability issue here.  It will more
>>> conrusing if tow separate parts  of the compiler are reponsible
>>  That should say: confusing if two ...
> Ok, that's probably a better idea.
> Estimated hours taken: 1
> Branches: main
> Avoid assertion failures in the liveness detection pass which is called as
> part of computing in-use information for structure reuse.  The problem occurs
> for procedures containing an if-then-else goal with an `erroneous' condition.
> As written, liveness.m expects such goals to have been simplified beforehand.
> This is not the case when structure reuse is enabled, as the structure reuse
> analysis is run before simplification.
> compiler/structure_sharing.analysis.m:
> 	Fix the problem by simplifying procedures before liveness detection.

That looks ok - you may want to add a comment to compiler/liveness.m
about this requirement if there is not already something there (I looked
briefly but couldn't see anything.)

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