Related articles |
---|
[18 earlier articles] |
Re: Detecting endless recursion? joachim.durchholz@web.de (Joachim Durchholz) (2004-02-01) |
Re: Detecting endless recursion? joachim.durchholz@web.de (Joachim Durchholz) (2004-02-01) |
Re: Detecting endless recursion? nmm1@cus.cam.ac.uk (2004-02-01) |
Re: Detecting endless recursion? derkgwen@HotPOP.com (Derk Gwen) (2004-02-01) |
Re: Detecting endless recursion? lex@cc.gatech.edu (Lex Spoon) (2004-02-01) |
Re: Detecting endless recursion? bear@sonic.net (Ray Dillinger) (2004-02-04) |
Re: Detecting endless recursion? nmm1@cus.cam.ac.uk (2004-02-04) |
Re: Detecting endless recursion? witness@t-online.de (Uli Kusterer) (2004-02-04) |
Re: Detecting endless recursion? joachim.durchholz@web.de (Joachim Durchholz) (2004-02-08) |
Re: Detecting endless recursion? alexc@std.com (Alex Colvin) (2004-02-08) |
Re: Detecting endless recursion? cymric73@hotmail.com (Maarten D. de Jong) (2004-02-08) |
Re: Detecting endless recursion? kenrose@tfb.com (Ken Rose) (2004-02-12) |
Re: Detecting endless recursion? witness@t-online.de (Uli Kusterer) (2004-02-13) |
[2 later articles] |
From: | nmm1@cus.cam.ac.uk (Nick Maclaren) |
Newsgroups: | comp.compilers |
Date: | 4 Feb 2004 21:44:13 -0500 |
Organization: | University of Cambridge, England |
References: | 04-01-050 04-01-086 04-01-119 04-01-123 04-02-015 |
Keywords: | debug, courses |
Posted-Date: | 04 Feb 2004 21:44:13 EST |
Joachim Durchholz <joachim.durchholz@web.de> writes:
|>
|> > Like many advanced optimisations,
|>
|> Tail recursion removal is as far from advanced as I can imagine.
|> Actually I have seen it taught in undergraduate courses.
I wasn't meaning advanced in that sense. I was using it in the sense
that it is an optimisation which has effects that may be visible to
the programmer. In this, it is like converting multiplication to
division, the use of associativity for the reordering of operations
and so on, and unlike register allocation, simple common expression
removal and strength reduction in for-loops.
Most commercial compilers separate the two classes of optimisation and
invoke the 'advanced' ones only at higher levels. There is usually a
third class, where it may break some of the language standard's more
subtle promises.
Regards,
Nick Maclaren.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.