Thanks!

Yes, I love the way go and plan9 C compilers work. IMHO all new compilers should be written like that. I detest clang & llvm, especially when, for example, Freebsd make buildworld (from scratch) takes over an hour because of clang+llvm times. Surely llvm author(s) could've achieved all the flexibility llvm provide for various frontends in a different way? [FreeBSD is also at fault. I think it can be compiled with gcc but no other small and fast compilers like tcc]

On Mar 7, 2024, at 5:12 PM, Rob Pike <robpike@gmail.com> wrote:

By the way, the unmatched portability of Plan 9 and Go stems from the way Ken structured that compiler. My talk at GopherCon about the Go assembler describes this architecture and why it worked so well. Others feel that by being unorthodox it is clearly bogus and we are jackasses, but such complainers only notice the difference and don't ask why the difference is there.

-rob


On Fri, Mar 8, 2024 at 12:10 PM Rob Pike <robpike@gmail.com> wrote:
Yes. Ken wrote the first version for the National 32000 (maybe even 16000?) on the Sequent. He ported to the MIPS when we started Plan 9.

-rob


On Fri, Mar 8, 2024 at 12:08 PM Bakul Shah <bakul@iitbombay.org> wrote:
What is the history of Plan9's C compiler? Was it a from scratch implementation?

On Mar 7, 2024, at 4:57 PM, Rob Pike <robpike@gmail.com> wrote:

Chris Fraser and Dave Hanson did LLC and wrote a book about it, very clean and pedagogically valuable.


-rob


On Fri, Mar 8, 2024 at 11:31 AM Warner Losh <imp@bsdimp.com> wrote:


On Thu, Mar 7, 2024 at 5:08 PM Rich Salz <rich.salz@gmail.com> wrote:

Judging from what's at the bitsavers I posted, the source for pcip and this is the backstory to them.

Warner