On 2020-05-28 7:36 a.m., Dridi Boukelmoune wrote:
On Tue, May 26, 2020 at 12:07 PM Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:
On Sun, 24 May 2020 05:21:05 +0200, Paul Dufresne via devel wrote:
The idea was to push code generation as near as possible of code execution.
Because at execution time, you know what are the specific features of the
CPU, and what is used to most often by the user of the program.
In Free Software you have that already - it is called the source code.
If you want host-specific optimizations use Gentoo Linux.
One could implement a DNF plugin that builds packages locally since we
have source RPM repositories.

Well... when I said code generation as near as possible of code execution... I did not want to start compiling from source code, which take way too long in my opinion. LLVM Intermediate Representation is a bit like compiled Java, or run-everywhere .NET exe, that are not yet generated code for a specific CPU. But unlike compiled Java or .Net intermediary language that are specific to one language or family of language, LLVM intermediate language is like a RISC assembler with unlimited registers (as far as I know). Also using some Single Static Assignment, like used in C compilers to make it easier to do transformations on the code. LLVM IR can be run with "lli directly executes programs in LLVM bitcode format. It takes a program in LLVM bitcode format and executes it using a just-in-time compiler or an interpreter."

But when I proposed that, I was not aware main developer had been hired by Apple. And like people have replied before, they don't like the Clang (C, C++ LLVM-based compiler) I guess in good part because of the more permissive license than GPL it use: Illinois/NCSA license.