From: "Dan'l Miller" <optikos@verizon.net>
Subject: Re: DragonEgg has been revived
Date: Tue, 22 May 2018 14:04:23 -0700 (PDT)
Date: 2018-05-22T14:04:23-07:00 [thread overview]
Message-ID: <f79077f8-1e89-408a-bb09-de63c463b8d1@googlegroups.com> (raw)
In-Reply-To: <57d6ccf6-23da-445c-89d6-b18143913018@googlegroups.com>
On Tuesday, May 22, 2018 at 3:17:11 PM UTC-5, Dan'l Miller wrote:
> On Tuesday, May 22, 2018 at 2:40:24 PM UTC-5, Shark8 wrote:
> > On Tuesday, May 22, 2018 at 6:29:10 AM UTC-6, Simon Clubley wrote:
> > >
> > > What I would like to see is an Ada compiler that can generate code
> > > for a wide range of targets without any GPL restrictions on the
> > > generated code.
> >
> > I'm getting ready to restart work on Byron. I figure that perhaps an Implementation Manual/Design Document would help explain the design underneath it and welcome new contributors.
> >
> > >
> > > I'm not really bothered how that happens but LLVM seems like an
> > > interesting option.
> >
> > I have mixed feelings on LLVM -- it would be nice to grab all the targets for it, but I also think it's a stupid
> > idea to build the compiler specifically for it.
>
> Writing a compiler “specifically for” LLVM? I thought that the whole premise of Byron was to write an Ada compiler for multiple back-ends:
> 1) libFirm: https://pp.ipd.kit.edu/firm
> 2) LLVM
> 3) GCC
> 4) Graal for JVM: http://www.graalvm.org
> 5) CLR for .NET & Mono
> and so forth.
>
> Compared to Byron's laudable long-term clean-room-design goals, my GELI proposal* for an LLVM-backended GNAT is an interim stop-gap, focusing only on likely-not-clean-room generation of LLVM bitcode IR within a single GPLv3 GNAT executable, causing only ISAs' machine-code (not the IR) to be generated by LLVM-embedded-within-GNAT.
>
> * described in a prior reply above
>
> > Yeah; that's one of the big problems Byron [Ada 2012 in Ada 2012] is intended to address; the other big
> > one is to escape the stupid morass of licensing issues.
>
> What is so bad about GPLv3 with Runtime Exception …
>
> 1) … unless a person really really wants to re-work GCC-emitted machine code as lifted to LLVM bitcode IR via, say, McSema as not-GPLv3ed derivative works, needing disclosure of all source code?**
> or
>
> 2) … unless a person really really wants to write LLVM bitcode IR out to a file to execute it on Sulong/GraalVM as not-GPLv3ed derivative works, needing disclosure of all source code?**
> or
>
> 3) Can anyone think of any other precise downsides of GPLv3 •with• Runtime Exception?
I just thought of another one:
3) … unless a person really really wants to write LLVM bitcode IR out to a file to have Polly grind on it with all sorts of advanced optimizations.
Polly and GraalVM of course beget doing to them what was described above for LLVM:
H) Import the entirety of Polly within the GCC repository for compilation (along with the entirety of LLVM) into a single GNAT executable, so that LLVM bitcode IR is never emitted as a file by GNAT just to utilize Polly's polyhedral optimizations with GELI->LLVM.
H.a) Add all the command-line options for Polly to GNAT.
I) Import the entirety of GraalVM within the GCC repository for compilation into a single GNAT executable, so that LLVM bitcode IR is never emitted as a file by GNAT just to utilize GELI->LLVM->GraalVM's Sulong & Polyglot.
I.a) Add all the command-line options for GraalVM to GNAT.
next prev parent reply other threads:[~2018-05-22 21:04 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-21 21:37 DragonEgg has been revived Simon Clubley
2018-05-21 22:20 ` Dan'l Miller
2018-05-21 22:26 ` Luke A. Guest
2018-05-22 12:12 ` Simon Clubley
2018-05-22 1:02 ` Dan'l Miller
2018-05-22 12:29 ` Simon Clubley
2018-05-22 12:41 ` Luke A. Guest
2018-05-22 15:25 ` Dan'l Miller
2018-05-22 19:40 ` Shark8
2018-05-22 20:17 ` Dan'l Miller
2018-05-22 21:04 ` Dan'l Miller [this message]
2018-05-22 22:33 ` Shark8
2018-05-23 1:58 ` Dan'l Miller
2018-05-23 7:26 ` Simon Wright
2018-05-23 8:11 ` Luke A. Guest
2018-05-23 14:10 ` Dan'l Miller
2018-05-23 15:46 ` Dan'l Miller
2018-05-23 15:51 ` Dan'l Miller
2018-05-23 19:27 ` Chris M Moore
2018-05-23 20:30 ` Dan'l Miller
2018-05-23 22:18 ` Chris M Moore
2018-05-24 0:12 ` Dan'l Miller
2018-05-24 8:00 ` Simon Wright
2018-05-24 7:19 ` Simon Wright
2018-05-24 15:38 ` Dan'l Miller
2018-05-24 16:44 ` Dan'l Miller
2018-05-24 18:07 ` Lucretia
2018-05-25 0:09 ` Dan'l Miller
2018-05-24 17:19 ` Simon Wright
2018-05-24 19:26 ` Dan'l Miller
2018-05-24 21:59 ` Chris M Moore
2018-05-24 22:15 ` Dan'l Miller
2018-05-24 22:22 ` Dan'l Miller
2018-05-25 0:19 ` Luke A. Guest
2018-05-25 13:16 ` Simon Clubley
2018-05-25 13:29 ` Lucretia
2018-05-25 17:08 ` Simon Wright
2018-05-25 18:09 ` Dan'l Miller
2018-05-25 16:25 ` Jeffrey R. Carter
2018-05-25 17:01 ` Dan'l Miller
2018-05-25 1:54 ` Dan'l Miller
2018-05-25 2:56 ` Luke A. Guest
2018-05-25 3:38 ` Dan'l Miller
2018-05-25 11:12 ` Brian Drummond
2018-05-24 20:50 ` Dan'l Miller
2018-05-24 20:56 ` Dan'l Miller
2018-05-24 21:00 ` Dan'l Miller
2018-05-24 20:23 ` G. B.
2018-05-25 7:16 ` Chris M Moore
2018-05-25 8:09 ` Simon Wright
2018-05-25 8:28 ` Simon Wright
2018-05-25 20:02 ` Dan'l Miller
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox