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:f49:: with SMTP id x70-v6mr4337652ioi.107.1526587764516; Thu, 17 May 2018 13:09:24 -0700 (PDT) X-Received: by 2002:a9d:4814:: with SMTP id c20-v6mr21588otf.6.1526587764387; Thu, 17 May 2018 13:09:24 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!paganini.bofh.team!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!u74-v6no977329itb.0!news-out.google.com!b185-v6ni1174itb.0!nntp.google.com!u74-v6no977327itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 17 May 2018 13:09:24 -0700 (PDT) In-Reply-To: <1193667974.548270050.319144.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> <4a2e4dc5-aec6-4e59-91cd-9476abdbac7c@googlegroups.com> <1193667974.548270050.319144.laguest-archeia.com@nntp.aioe.org> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <0ea52b5b-a03a-4b05-87f6-85cd30eb1666@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 20:09:24 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:52405 Date: 2018-05-17T13:09:24-07:00 List-Id: On Thursday, May 17, 2018 at 12:19:22 PM UTC-5, Luke A. Guest wrote: > Dan'l Miller wrote: > > Wait, GNAT has its own full-fledged IR=20 >=20 > Of course it does, every compiler builds up an AST IR prior to lowering t= o > another IR. GNAT doesn=E2=80=99t use a symbol table, everything is in the= tree. https://www2.adacore.com/gap-static/GNAT_Book/html/node5.htm#fig:frontal-gn= at GIGI is apparently the name of GNAT's tree transducer, where at least one o= f the GIs stands for =E2=80=9CGENERIC instantiation=E2=80=9D as indicated b= y the following commit comment. (Perhaps GIGI stands for GENERIC instantia= tion GIMPLE instantiation?) https://github.com/gcc-mirror/gcc/commit/404455fef970eea7f65545ed7ed87501ef= 925718 According to Figure 1 in the following reference, GIGI feeds fragments of t= he semantically-adorned tree to either GENERIC or GIMPLE. It seems that there are 4 variants of bolting the entirety of LLVM into GNA= T: 1) make the entirety of LLVM conform to be yet another ISA in GCC fed by lo= w-GIMPLE or 2) make the entirety of LLVM conform via Liskov substitution principle (LSP= ) to obey the interface of low-GIMPLE fed by high-GIMPLE; this might preser= ve some information that LLVM would prefer to be thrown away as a form of s= emantic blindness or 3) make the entirety of LLvM conform via Liskov substitution principle (LSP= ) to obey the interface of high-GIMPLE fed by GIGI; this might preserve all= information that LLVM would prefer to not be thrown away as a form of sema= ntic blindness or 4) rewrite nearly all of GIGI* as GigiEmittingLlvm (or contorting a few let= ters: GiggleVM for short) to transduce the fully-semantically adorned AST t= o LLVM IR instead of to any of GCC's IRs; this one is clearly the best if t= oday's GIGI is as dumb as a rock regarding further adornments of _ARM_-defi= ned Adaness semantics to the supposedly already-fully-semantically-adorned = AST. If GIGI is doing absolutely more than nose-to-the-notAda-grindstone f= ocusing entirely on GCC internals and not devising tidbits of Ada semantics= afresh**, then GIGI is our thing to gut, substituting GiggleVM via LSP, to= achieve a GPLv3ed GNAT-LLVM hybrid compiler. * but only GIGI as modified, leaving the entirety of the rest of GNAT front= -end and GCC back-end 100% undisturbed*** (as opposed to DragonEgg that app= arently seems to have had the word metastasize on its mind throughout its d= esign phase). ** This GIGI-is-as-dumb-as-a-rock-regarding-devising-even-more-Ada-semantic= s seems quite likely given the elaborateness of the grinding that precedes = GIGI. ** except for the mere presence of LLVM's entire codebase in the GCC reposi= tory and GiggleVM calling into this LLVM-subsumed codebase in a single GPLv= 3ed GCC executable