From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a6b:a94b:: with SMTP id s72-v6mr3887801ioe.87.1526575742503; Thu, 17 May 2018 09:49:02 -0700 (PDT) X-Received: by 2002:a9d:5511:: with SMTP id l17-v6mr199988oth.14.1526575742414; Thu, 17 May 2018 09:49:02 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!border1.nntp.ams1.giganews.com!nntp.giganews.com!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!85.12.16.69.MISMATCH!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!v8-v6no860330itc.0!news-out.google.com!b185-v6ni990itb.0!nntp.google.com!u74-v6no843826itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 17 May 2018 09:49:02 -0700 (PDT) In-Reply-To: <1103700103.548265160.819002.laguest-archeia.com@nntp.aioe.org> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.233.194; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.233.194 References: <9169bb0d-626f-4f6d-82c9-8a9b7543a084@googlegroups.com> <92b78739-e2c5-4e45-bbd8-f80ec4918691@googlegroups.com> <6dc39990-16eb-4717-8b8a-1d41c2767530@googlegroups.com> <1103700103.548265160.819002.laguest-archeia.com@nntp.aioe.org> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <4a2e4dc5-aec6-4e59-91cd-9476abdbac7c@googlegroups.com> Subject: Re: disruptors of & inventory of Ada compilers and latest their era of ISO8652 compliance From: "Dan'l Miller" Injection-Date: Thu, 17 May 2018 16:49:02 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 4180 X-Received-Body-CRC: 3201902466 Xref: reader02.eternal-september.org comp.lang.ada:52394 Date: 2018-05-17T09:49:02-07:00 List-Id: On Thursday, May 17, 2018 at 10:56:02 AM UTC-5, Luke A. Guest wrote: > Dan'l Miller <@verizon.net> wrote: > Darwin, the BSDs, and Linux. I wonder why the design of an LLVM IR backe= nd > for GCC wasn't merely just another machine-code downstream from GIMPLE, > e.g., as (hardware-processor machine-code ISAs are) overviewed at > https://kristerw.blogspot.com/2017/08/writing-gcc-backend_4.html >=20 > See previous discussions about taking gcc=E2=80=99s ir and the ramificati= ons of > doing so, it makes the resultant code gplv3. It=E2=80=99s in the gcc faq = and > licence. 1) DragonEgg is licensed as GPLv2 (as GPLv2 was the version at the time of = its inception), so there is clearly no goal there in DragonEgg of making a = nonGPL LLVM backend for GCC. 2) As implied by all hardware-processor machine-code ISAs in GCC, an LLVM I= R as just analogous to a machine-code-ISA backend on GCC would of course be= GPLv3 nowadays, just as any hardware-processor machine-code ISA would be i= n GCC. > > On this note, does anyone know how much GNAT's frontend >=20 > GNAT IR -> generic -> gimple, but I think they got rid of the generic ste= p > but I=E2=80=99m not sure. Wait, GNAT has its own full-fledged IR stage prior to deriving either GENER= IC or GIMPLE from that GNAT IR? By IR here, I of course mean capturing =E2= =80=A2all=E2=80=A2 the semantic behavior of the program as per the _ARM_, n= ot merely an AST of the recognized syntax. Perhaps you are speaking of a b= lend: that GNAT might encode 100% of the semantics adorned on the AST itse= lf prior to deriving either GENERIC or GIMPLE =E2=80=A2mechanically=E2=80= =A2 without adding any more _ARM_-defined Adaness. If such a GNAT IR exist= s that would capture all Ada-ness prior to =E2=80=A2mechanically=E2=80=A2 d= eriving either GENERIC or GIMPLE (i.e., mechanically =3D with no knowledge = of the _ARM_), then that might be the better place to shunt off to LLVM bit= code IR*, skipping both GENERIC and GIMPLE. * a GPLv3ed LLVM-backended GNAT compiler, of course, analogous to the old l= lvm-gcc and llvm-g++ in the early days of LLVM Conversely, if GNAT is still imbuing fresh _ARM_-defined Adaness into eithe= r GENERIC or GIMPLE that wasn't fully represented upstream prior to GENERIC= /GIMPLE, then these imbuings would be skipped, nullifying any fleeting inte= rest in a shunt off to LLVM bitcode IR prior to GENERIC/GIMPLE. None of this arrives at a non-GPLed open-source Ada compiler though.