Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!usc!brutus.cs.uiuc.edu!wuarchive!uwm.edu!ux1.cso.uiuc.edu!tank!ncar!boulder!grunwald From: grunwald@foobar.colorado.edu (Dirk Grunwald) Newsgroups: gnu.g++.lib.bug Subject: Re: lack of inline functions in libg++ Message-ID: <13193@boulder.Colorado.EDU> Date: 26 Oct 89 16:08:23 GMT References: <8910261030.AA01450@g.oswego.edu> Sender: news@boulder.Colorado.EDU Reply-To: grunwald@foobar.colorado.edu Distribution: gnu Organization: University of Colorado at Boulder Lines: 18 In-reply-to: dl@G.OSWEGO.EDU's message of 26 Oct 89 10:30:30 GMT I think that a lot of the effort spent on ``cleaning up inlining'' & the like would be better spent on global optimization, although that process is much harder. I'm thinking of things along the lines of the compilation to symbolic intermediate (rtl?), and later ``linking'' of the intermediate form followed by a global procedure integration & register allocation pass. Examples of this include the MIPS compilers (using ucode as intermediate) and the work at DEC-WRL for the titan (mahler intermediate code). This allows much better procedure integration and you'll improve register allocation in leaf procedures. Also, it would make G++ much nicer because your header files would only include class declerations - there would be not need to include inline procedure bodies in the header files.