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

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

On Wed, 30 Jan 2008, Julien Fischer wrote:

> 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

That should say: confusing if two ...

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