comp.lang.ada
 help / color / mirror / Atom feed
From: Optikos <optikos@verizon.net>
Subject: Re: Well, they kept that quiet!
Date: Wed, 2 Oct 2019 12:25:14 -0700 (PDT)
Date: 2019-10-02T12:25:14-07:00	[thread overview]
Message-ID: <547965ff-1dc4-4102-aa03-4abb93d523b9@googlegroups.com> (raw)
In-Reply-To: <lyy2y35cji.fsf@pushface.org>

On Wednesday, October 2, 2019 at 11:37:23 AM UTC-5, Simon Wright wrote:
> Optikos writes:
> 
> > which is then passed •IN MEMORY WITHIN THE SAME PROCESS• onto the LLVM
> > tools as/ld/polly •THAT ARE LINKED INTO THE COMPILER AS THE SAME
> > PROCESS AS THE COMPILER•
> 
> No idea what polly is

Polly is the quite admirable polyhedral optimizer phases, and is the most-famous archetype representative of other IR-to-IR transforms in the LLVM ecosystem.  The LLVM ecosystem is well-known for having many more (and more sophisticated) IR-processing/reprocessing stages via plug-ins immediately ahead of the final as & ld step than GCC has or is capable of.  Because of the failure of GCC-XML vis a vis the contract-law IR complications of Eligible Compilation Process in GPLv3 RLE, GCC-world has had drastically fewer of these IR-to-IR value-added transforms.

> but you are wrong about as & ld

Obviously I am not talking about bland mundane ••unoptimized naïve•• Target Code being fed into as and ld with all value-adds turned off or inhibited in LLVM.  I am clearly referring to all the commonly-utilized actually-extant value-adds in the LLVM ecosystem that produce any kind of optimization or correctness-improving rewrite or any other value-add transform of the IR or of the IR-to-Target-Code generated that is then fed into as and ld, where as and ld are none the wiser that a prior stage improved the IR or the Target Code by rewriting it a little or a lot when compared to its bland/unoptimized/naïve/mundane starting point at an even earlier phase.  Your criticism is focusing (ridiculously) on the none-the-wiser part there at the input orifice of as and ld; I am focusing on the rewriting-it part there in that prior sentence immediately prior to feeding it into that orifice.  It is the rewriting-it part commonplace in the LLVM ecosystem that can very easily run afoul of the Eligible Compilation Process criteria in the RLE of GPLv3 (unless one assures a single compilation process without IPCing IR and without file-writing of IR or unless one is fine with strict GPLv3-without-RLE licensing for the generated object code and executable or DLL).

Because the phasing of LLVM-world's IR-transformation ecosystem is more complex than GCC's, the thinking and critical analysis also needs to be equally more complex to still meet the criteria of Eligible Compilation Process in GPLv3's RLE for linking to the FSF-sourced standard library.  Ignoring the ••intersection•• of 1) the technical details with 2) the contract-law details is not really an option (unless one actually wants strict GPLv3-without-RLE licensing for the generated object code and executable or DLL).


  reply	other threads:[~2019-10-02 19:25 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-30 13:09 Well, they kept that quiet! Lucretia
2019-09-30 16:34 ` Simon Wright
2019-09-30 16:58   ` Lucretia
2019-10-01 14:58 ` Optikos
2019-10-01 16:43   ` Lucretia
2019-10-01 17:29     ` Simon Wright
2019-10-02 13:59     ` Optikos
2019-10-02 15:25       ` Optikos
2019-10-02 16:37       ` Simon Wright
2019-10-02 19:25         ` Optikos [this message]
2019-10-02 20:46           ` Lucretia
2019-10-02 20:47           ` Simon Wright
replies disabled

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