From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: <2c752317a96b7b8b980ad37e92ff6f01@terzarima.net> <20110203021608.006575B67@mail.bitblocks.com> <2c48b8397b29ededd862efa6de0baf70@brasstown.quanstro.net> Date: Thu, 3 Feb 2011 18:19:05 +0200 Message-ID: From: Eugene Gorodinsky To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=000e0cd37c0cdd8a39049b631f27 Subject: Re: [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely Topicbox-Message-UUID: aae65a76-ead6-11e9-9d60-3106f5b1d025 --000e0cd37c0cdd8a39049b631f27 Content-Type: text/plain; charset=UTF-8 To be fair, gcc, g++ and gobjc combined are actually bigger than clang+llvm. At least on my system. So it could have been worse. 2011/2/3 David Leimbach > On Wednesday, February 2, 2011, erik quanstrom > wrote: > >> It is a C/C++/Obj-C compiler & does static analysis, has > >> backends for multiple processor types as well as C as a > >> target, a lot of optimization tricks etc. See llvm.org. But > >> frankly, I think they have lost the plot. C is basically a > >> portable assembly programming language & in my highly biased > >> opinion a C compiler should do no more than peephole > >> optimizations. If you want more, might as well use a high > >> level language. > > > > preach it, brother. i couldn't agree more. > > > > - erik > > > > > Well LLVM uses its internal ASTs for a lot of the optimizations doesnt > it? My understanding is LLVM is a stack of software that you compose > other programming language tools by including the libraries you want. > One might be able to remove the optimizing behaviors one doesn't want > pretty easily, or write one's own optimizing layer that's stripped > down. Then one could have the "do what I said" compiler instead of > the "do what you think I meant" one. > > I believe there are occasions for each type of compiler really. > > It might seem really big and bloated but I still think what they've > done is kind of neat. Making a real compiler in Haskell or O'Caml is > pretty damned easy with LLVM bindings. > > I wonder how difficult it is to target Plan 9 with LLVM. > > --000e0cd37c0cdd8a39049b631f27 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable To be fair, gcc, g++ and gobjc combined are actually bigger than clang+llvm= . At least on my system. So it could have been worse.

2011/2/3 David Leimbach <leimy2k@gmail.com>
On Wednesday, February 2,= 2011, erik quanstrom <quanstro= @quanstro.net> wrote:
>> It is a C/C++/Obj-C compil= er & does static analysis, has
>> backends for multiple processor types as well as C as a
>> target, a lot of optimization tricks etc. =C2=A0See llvm.org. =C2=A0But
>> frankly, I think they have lost the plot. C is basically a
>> portable assembly programming language & in my highly biased >> opinion a C compiler should do no more than peephole
>> optimizations. =C2=A0If you want more, might as well use a high >> level language.
>
> preach it, brother. =C2=A0i couldn't agree more.
>
> - erik
>
>
Well LLVM uses its internal ASTs for a lot of the optimizations= doesnt
it? =C2=A0My understanding is LLVM is a stack of software that you compose<= br> other programming language tools by including the libraries you want.
One might be able to remove the optimizing behaviors one doesn't want pretty easily, or write one's own optimizing layer that's stripped<= br> down. =C2=A0Then one could have the "do what I said" compiler ins= tead of
the "do what you think I meant" one.

I believe there are occasions for each type of compiler really.

It might seem really big and bloated but I still think what they've
done is kind of neat. =C2=A0Making a real compiler in Haskell or O'Caml= is
pretty damned easy with LLVM bindings.

I wonder how difficult it is to target Plan 9 with LLVM.


--000e0cd37c0cdd8a39049b631f27--