[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