Re: Detailed algorithms on inline optimization

Holger Siegel <holgersiegel74@yahoo.de>
Wed, 20 Jan 2010 01:57:06 +0100

          From comp.compilers

Related articles
Detailed algorithms on inline optimization pengyu.ut@gmail.com (Peng Yu) (2010-01-18)
Re: Detailed algorithms on inline optimization bobduff@shell01.TheWorld.com (Robert A Duff) (2010-01-19)
Re: Detailed algorithms on inline optimization holgersiegel74@yahoo.de (Holger Siegel) (2010-01-20)
Re: Detailed algorithms on inline optimization bobduff@shell01.TheWorld.com (Robert A Duff) (2010-01-19)
Re: Detailed algorithms on inline optimization gneuner2@comcast.net (George Neuner) (2010-01-19)
Re: Detailed algorithms on inline optimization miles@gnu.org (Miles Bader) (2010-01-20)
Re: Detailed algorithms on inline optimization rangsynth@gmail.com (Robin Holmes) (2010-01-20)
Re: Detailed algorithms on inline optimization jeremy.wright@microfocus.com (Jeremy Wright) (2010-01-20)
Re: Detailed algorithms on inline optimization dot@dotat.at (Tony Finch) (2010-01-21)
[11 later articles]
| List of all articles for this month |

From: Holger Siegel <holgersiegel74@yahoo.de>
Newsgroups: comp.compilers
Date: Wed, 20 Jan 2010 01:57:06 +0100
Organization: Compilers Central
References: 10-01-058
Keywords: optimize
Posted-Date: 19 Jan 2010 23:10:38 EST

Am Montag, den 18.01.2010, 07:09 -0800 schrieb Peng Yu:
> I'm looking for detailed algorithms on inline optimization. But I only
> find some document like http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html,
> which describes different ways of doing inline. Is 'inline' so trivial
> that it is not worthwhile to explain how it is implemented?
>
> If there is some reference that describe inline in details, could
> somebody let me?
> [Unless you're trying to in-line a recursive function, it's pretty straightforward. -John]


The paper 'Secrets of the Glasgow Haskell Compiler inliner' by Simon
Peyton Jones and Simon Marlow explains how inlining is implemented in
the Haskell compiler GHC:


"... The purpose of this paper is, therefore, to articulate the key
lessons we learned from a full-scale ``production'' inliner, the one
used in the Glasgow Haskell compiler. We focus mainly on the algorithmic
aspects, but we also provide some indicative measurements to
substantiate the importance of various aspects of the inliner."


You can find it at
http://www.haskell.org/~simonmar/bib/ghcinliner02_abstract.html


It sketches some of the heuristics needed to avoid exponential bloat and
shows how one can deal with recursive declarations.



Post a followup to this message

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