comp.lang.ada
 help / color / mirror / Atom feed
From: "Dan'l Miller" <optikos@verizon.net>
Subject: Re: disruptors of & inventory of Ada compilers and latest their era of ISO8652 compliance
Date: Thu, 17 May 2018 09:49:02 -0700 (PDT)
Date: 2018-05-17T09:49:02-07:00	[thread overview]
Message-ID: <4a2e4dc5-aec6-4e59-91cd-9476abdbac7c@googlegroups.com> (raw)
In-Reply-To: <1103700103.548265160.819002.laguest-archeia.com@nntp.aioe.org>

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 backend
> 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
> 
> See previous discussions about taking gcc’s ir and the ramifications of
> doing so, it makes the resultant code gplv3. It’s 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 IR 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 in GCC.

> > On this note, does anyone know how much GNAT's frontend
> 
> GNAT IR -> generic -> gimple, but I think they got rid of the generic step
> but I’m not sure.

Wait, GNAT has its own full-fledged IR stage prior to deriving either GENERIC or GIMPLE from that GNAT IR?  By IR here, I of course mean capturing •all• the semantic behavior of the program as per the _ARM_, not merely an AST of the recognized syntax.  Perhaps you are speaking of a blend:  that GNAT might encode 100% of the semantics adorned on the AST itself prior to deriving either GENERIC or GIMPLE •mechanically• without adding any more _ARM_-defined Adaness.  If such a GNAT IR exists that would capture all Ada-ness prior to •mechanically• deriving either GENERIC or GIMPLE (i.e., mechanically = with no knowledge of the _ARM_), then that might be the better place to shunt off to LLVM bitcode IR*, skipping both GENERIC and GIMPLE.

* a GPLv3ed LLVM-backended GNAT compiler, of course, analogous to the old llvm-gcc and llvm-g++ in the early days of LLVM

Conversely, if GNAT is still imbuing fresh _ARM_-defined Adaness into either GENERIC or GIMPLE that wasn't fully represented upstream prior to GENERIC/GIMPLE, then these imbuings would be skipped, nullifying any fleeting interest 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.


  reply	other threads:[~2018-05-17 16:49 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-09 15:30 disruptors of & inventory of Ada compilers and latest their era of ISO8652 compliance Dan'l Miller
2018-05-09 16:41 ` Lucretia
2018-05-09 17:26   ` Dan'l Miller
2018-05-09 17:34     ` Lucretia
2018-05-09 18:29       ` Dan'l Miller
2018-05-17 14:41       ` Dan'l Miller
2018-05-17 15:56         ` Luke A. Guest
2018-05-17 16:49           ` Dan'l Miller [this message]
2018-05-17 17:19             ` Luke A. Guest
2018-05-17 18:43               ` Dan'l Miller
2018-05-17 20:09               ` Dan'l Miller
2018-05-17 20:23               ` Dan'l Miller
2018-05-18  0:56                 ` Dan'l Miller
2018-05-18 10:47                   ` Lucretia
2018-05-18 11:33                     ` Dan'l Miller
2018-05-18 11:48                       ` Lucretia
2018-05-19  1:48                         ` Dan'l Miller
2018-05-19 13:04                           ` Brian Drummond
2018-05-19 15:04                             ` Dan'l Miller
2018-05-20 13:00                               ` Brian Drummond
2018-05-20 14:12                                 ` Simon Wright
2018-05-21 11:43                                   ` Brian Drummond
2018-05-20 17:24                                 ` Lucretia
2018-05-19 16:01                             ` Simon Wright
2018-05-20  3:02                             ` Shark8
2018-05-19  3:14                         ` Dan'l Miller
2018-05-17 18:42           ` Niklas Holsti
2018-05-18 14:06             ` R R
2018-05-18 14:33               ` Dan'l Miller
2018-05-09 17:36 ` Simon Clubley
2018-05-09 18:25 ` Dan'l Miller
2018-05-09 19:19 ` Niklas Holsti
2018-05-09 21:38 ` Randy Brukardt
2018-05-10  8:00   ` Micronian Coder
2018-05-10  8:49   ` Janus Ada 12 (was Re: disruptors of ...) Jeffrey R. Carter
2018-05-10 20:24     ` Paul Rubin
2018-06-26 20:36   ` disruptors of & inventory of Ada compilers and latest their era of ISO8652 compliance invalid
2018-06-29 22:18     ` Randy Brukardt
2018-07-01  8:44       ` invalid
2018-07-03 22:07         ` Randy Brukardt
2018-07-08 15:46           ` invalid
2018-05-10  7:49 ` Micronian Coder
2018-05-14 13:10 ` Jacob Sparre Andersen
2018-05-14 22:56   ` Randy Brukardt
2018-05-15 15:29   ` Dan'l Miller
2018-05-18 13:02     ` Simon Wright
2018-05-14 18:52 ` gautier_niouzes
2018-05-14 19:37   ` Dmitry A. Kazakov
2018-05-16 19:37     ` gautier_niouzes
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox