Xref: utzoo comp.compilers:1499 gnu.gcc.help:144 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!wuarchive!husc6!spdcc!esegue!compilers-sender From: mike@vlsivie.tuwien.ac.at (Michael K. Gschwind) Newsgroups: comp.compilers,gnu.gcc.help Subject: Re: Why RTL for GCC ? Keywords: GCC, RTL, optimize Message-ID: <9011151401.AA16023@tuvie.tuwien.ac.at> Date: 15 Nov 90 14:01:10 GMT References: <11535@hubcap.clemson.edu> Sender: compilers-sender@iecc.cambridge.ma.us Reply-To: Michael K. Gschwind Organization: Vienna University of Technology, AUSTRIA Lines: 40 Approved: compilers@iecc.cambridge.ma.us In article <11535@hubcap.clemson.edu> dlpress@hubcap.clemson.edu (david pressley) writes: > 1) Why was the GNU C compiler implemented using RTL (Register > Transfer Language) as opposed to 4-tuples or quads? I think the technical reason is the `combine' pass, which can generate arbitrarily complex RTLs. If you allow 4-tuples with 4-tuples as args, it would probably be quite similar to RTL. I guess they would actually be the same, apart from syntax ;-) > 2) Is there an interpreter or simulator available for RTL? Somebody is working on it. The idea is also mentioned in IDEAS (or TO-DO) in the g++ distribution. > 4) What would have to be added to quads to accomplish what is done with > RTL? Nesting of quads (?) >[The simple answer to 1) is that GCC is based on an earlier compiler that >used RTL, but I don't know the original motivation. Perhaps it appeared >easier to retarget. -John] I think GCC was NOT derived from a compiler, but from a machine code optimizer written at the U. of Arizona. It's more natural to map machine instructions to RTL than quads. bye, mike Michael K. Gschwind, Institute for VLSI-Design, Vienna University of Technology mike@vlsivie.tuwien.ac.at mike@vlsivie.uucp e182202@awituw01.bitnet Voice: (++43).1.58801 8144 Fax: (++43).1.569697 [I have heard that GCC also derives from a Pascal compiler done at Livermore, but perhaps someone who knows could tell us where it really came from. -John] -- Send compilers articles to compilers@iecc.cambridge.ma.us or {ima | spdcc | world}!esegue!compilers. Meta-mail to compilers-request.