[m-rev.] diff: Make module_qualify_items_loop tail recursive again with LCMC.
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.
> 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
More information about the reviews