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

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Jan 30 16:03:13 AEDT 2008


On Wed, 30 Jan 2008, Peter Wang wrote:

> On 2008-01-30, Julien Fischer <juliensf at csse.unimelb.edu.au> wrote:
>>
>>  On Wed, 30 Jan 2008, Peter Wang wrote:
>>
>>> 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.
>>
>>  Which simplification pass are you referring to here?  (Obviously not
>>  the one at stage 65, i.e. "frontend_simplify", since that is always
>>  run before structure reuse.)
>
> Sorry, stage 325 ll_backend_simplify.

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
for performing the above simplification.

Julien.
--------------------------------------------------------------------------
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