Re: Tail-Call Elimination Use-Cases

"Andreas Bauer" <baueran@in.tum.de>
25 Jul 2002 23:30:19 -0400

          From comp.compilers

Related articles
Tail-Call Elimination Use-Cases baueran@in.tum.de (Andreas Bauer) (2002-07-21)
Re: Tail-Call Elimination Use-Cases cr88192@hotmail.com (cr88192) (2002-07-24)
Re: Tail-Call Elimination Use-Cases neelk@alum.mit.edu (Neelakantan Krishnaswami) (2002-07-24)
Re: Tail-Call Elimination Use-Cases wilson@redhat.com (Jim Wilson) (2002-07-24)
Re: Tail-Call Elimination Use-Cases felixundduni@freenet.de (felix) (2002-07-24)
Re: Tail-Call Elimination Use-Cases baueran@in.tum.de (Andreas Bauer) (2002-07-25)
Re: Tail-Call Elimination Use-Cases baueran@in.tum.de (Andreas Bauer) (2002-07-25)
Re: Tail-Call Elimination Use-Cases David.Mosberger@acm.org (David Mosberger-Tang) (2002-07-31)
| List of all articles for this month |
From: "Andreas Bauer" <baueran@in.tum.de>
Newsgroups: comp.compilers
Date: 25 Jul 2002 23:30:19 -0400
Organization: Compilers Central
References: 02-07-066 02-07-100
Keywords: optimize
Posted-Date: 25 Jul 2002 23:30:19 EDT

> gcc 3 has new tail call and sibling call optimizations, and they are working
> fairly well. Further improvements are possible, but that is a matter of
> finding volunteers interested in working on this part of GCC.


It is *very* limited and therefore gets hardly used. A few limitations
are:


  - signature of caller and callee must match; there is no tail-call, but
      tail-recursion implemented


  - stack frames must be empty (or not grow larger than byte-alignment
      restrictions allow), i.e. tail-recursion fails if there are local
      arrays initialised and the like


  - no indirect calls possible


  - ...


There's a few more, but that's just to show how limited this feature in
gcc currently is. And yes, I'm a volunteer for this matter, as you
might call it.


--
(o_ Andreas Bauer, baueran at in.tum.de, http://home.in.tum.de/baueran/


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.