Re: porting gcc

bonzini@gnu.org (Bonz)
17 Sep 2000 23:01:58 -0400

          From comp.compilers

Related articles
porting gcc bm216754@muenchen.org (2000-09-15)
Re: porting gcc jeff.sturm@appnet.com (Jeff Sturm) (2000-09-17)
Re: porting gcc msnw31175@cableinet.co.uk (Michael A. Sewell) (2000-09-17)
Re: porting gcc bonzini@gnu.org (2000-09-17)
Re: porting gcc bm216754@muenchen.org (2000-09-28)
Re: porting gcc thp@roam-thp2.cs.ucr.edu (Tom Payne) (2000-10-08)
| List of all articles for this month |

From: bonzini@gnu.org (Bonz)
Newsgroups: comp.compilers
Date: 17 Sep 2000 23:01:58 -0400
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
References: 00-09-104
Keywords: GCC

> I hope I will be presented int n=*p++; in some abstract
> "pointer-plusplus"-token/struct, not in a "risc"
> MOVB R0,[R1]; ADD R1,4 ?


No, you are presented with elementary instructions. Then as far as I
remember the machine description can:
- use bottom-up (yacc like) algorithms to combine instructions and
obtain macro-patterns
- expand instructions (or sequences like above) to simpler, even more
RISCy sequences (e.g. x = ~x --> x = x ^ 0xFFFFFFFF)
- do peephole optimizations on the generated instructions.


> I guess what I am trying to ask is whether the backend programmer got
> full abstract C type information.


I don't know exactly, but there must be something because the compiler
does do alias analysis.


> - actually I want g++. assuming a g++ port, is the result any use for
> porting gcc? are they "RTL-compatible" ?


Yes, RTL is universal.


> and the "how to port gcc"


Search "Porting GCC for dummies" (not joking). A much more complicated
(and complete) guide can be found on any linux machine (`info gcc').


> please advice URLs.


Download gcc-core-2.95.2 (or something like that) from any GNU mirror.
Not really lean -- about 8 Megs. The 68000 machine description is
actually complex, better start with something like the PDP.


Post a followup to this message

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