[m-rev.] diff: Make module_qualify_items_loop tail recursive again with LCMC.

Paul Bone paul at bone.id.au
Thu Mar 3 13:57:53 AEDT 2016


On Wed, Mar 02, 2016 at 05:10:15PM +1100, Peter Wang wrote:
> On Wed, 2 Mar 2016 16:47:49 +1100 (AEDT), Julien Fischer <jfischer at opturion.com> wrote:
> > 
> > Hi Peter,
> > 
> > On Wed, 2 Mar 2016, Peter Wang wrote:
> > 
> > > The predicate module_qualify_items_loop was moved into a new module in
> > > commit df794c259a6a93eaaedff765e54b339f33d11631 but the option required
> > > for it to be tail recursive was not transferred to the new module.
> > >
> > > compiler/Mercury.options:
> > > 	Transfer --optimize-constructor-last-call to the new module
> > > 	containing module_qualify_items_loop.
> > 
> > It would also be worth adding a comment above that predicate mentioning that
> > if it is moved then Mercury.options needs to be updated.
> 
> Done.
> 
> I assume eventually (now?) we will be able to use the pragmas that Paul
> has been working on.

I'll resume work on these next work.

The parts that have been implemented work.  I can't remember if I got both C
backends working consistently or not.  Mutual recursion may not be handled
at all.

Cheers.

-- 
Paul Bone



More information about the reviews mailing list