Earlier quoted context omitted.
What exactly is the benefit of having multiple compilers? I'm not well versed in the area, but it seems like having one compiler is better from the perspectives of standardization, having a single way of handling undefined behaviors, etc?
With a permissive license, it's vulnerable to embrace, extend, extinguish.
Flang: The Fortran frontend of LLVM [video]
21–30 of 97 posts
Re: Flang: The Fortran frontend of LLVM [video]
#22I've never seen a fortram codebase in my life. Is it still alive? What advantages does it offer over C/C++?
Re: Flang: The Fortran frontend of LLVM [video]
#23I've never seen a fortram codebase in my life. Is it still alive? What advantages does it offer over C/C++?
Re: Flang: The Fortran frontend of LLVM [video]
#24Earlier quoted context omitted.
I am not a compiler expert but I wonder if FORTRAN will lose its speed advantages it still supposedly has if it goes through LLVM.
As far as I know, the main speed advantage is that Fortran supports arrays, which are known to not alias. C/C++ does not have alias-annotations built-in. Although with template constructs like done in e.g. the Eigen library, alias-optimal code can be generated.
Restrict?
Re: Flang: The Fortran frontend of LLVM [video]
#25Earlier quoted context omitted.
I am not a compiler expert but I wonder if FORTRAN will lose its speed advantages it still supposedly has if it goes through LLVM.
As far as I know, the main speed advantage is that Fortran supports arrays, which are known to not alias. C/C++ does not have alias-annotations built-in. Although with template constructs like done in e.g. the Eigen library, alias-optimal code can be generated.
Re: Flang: The Fortran frontend of LLVM [video]
#26Earlier quoted context omitted.
I do believe this is what OP meant. The LLVM IR is very well documented, and can in theory be plugged into a back-end that supports it.
Ah, ok yes. But in my OP I didn’t really mean technical problems, rather organisational/social. I mean that if all top-class talents in compilers technology focuses on llvm there probably wouldn’t be a lot people to be both willing and able to write alternative backends.
For the C++ world the competition by LLVM/clang was fruitful and triggered lots of improvements in gcc/g++. Produced code got faster, diagnostics better etc.
Sure, Fortran is a different area, with less commercial interest a d other challenges. (LLVM is pushed by Apple and Google for non-Fortran needs - it is thinkable that they push decisions, which hinder Fortran, whereas gcc has a different goal and might long term more receptive to Fortran needs?)
Re: Flang: The Fortran frontend of LLVM [video]
#27Earlier quoted context omitted.
I am not a compiler expert but I wonder if FORTRAN will lose its speed advantages it still supposedly has if it goes through LLVM.
A bit of a nitpick maybe, but it's been Fortran and not FORTRAN for quite a while (since Fortran 90 in the 90's).
That’s when I used it last time :)
Re: Flang: The Fortran frontend of LLVM [video]
#28I've never seen a fortram codebase in my life. Is it still alive? What advantages does it offer over C/C++?
The convenience is not really matched by C or C++, where similar features have been added much later by language extensions or 3rd party libraries, resulting to more complicated usage, fragmentation, and interoperability problems. Newer languages also have similar issues, so for the user base that uses Fortran, there's a lack of viable competitors.
Re: Flang: The Fortran frontend of LLVM [video]
#29On one hand this is a great news and as Fortran user pretty happy about it. On the other I’m a bit worried that once LLVM backend will take off for real, so much focus will concentrate on it, that other compilers (PGI, gfortran, Intel Fortran) development will finally stall or even get dropped and we will wake up in future where LLVM behemoth swallowed all the competition. This concern is not only limited to Fortran,…
What exactly is the benefit of having multiple compilers? I'm not well versed in the area, but it seems like having one compiler is better from the perspectives of standardization, having a single way of handling undefined behaviors, etc?
Actual standardization (as in, there is a document describing the what's supposed to happen) is helped by multiple implementations because their conflicts will help discover unclear parts. This in return helps new implementations get of the ground if there's a need to produce them. Some standards groups require multiple independent implementation of something to exist before it is allowed to be released as a standard.
Different implementations might be different enough that some changes are easier to make in one than the other. This makes it easier to test these changes, the other implementation(s) can then decide if the gains are worth their effort.
It provides an out if one project resists changes for human/political reasons.
I wouldn't be surprised if there's a few unusual architectures around that use Fortran but aren't handled by LLVM.
Re: Flang: The Fortran frontend of LLVM [video]
#30Earlier quoted context omitted.
With a permissive license, it's vulnerable to embrace, extend, extinguish.
The ability to make it proprietary is in fact the reason why Apple didn't adopt gcc and became the main supporter of clang/llvm instead. So the issue is already here. Fortunately Apple's ambitions only center around keeping full control of the Apple walled garden (the apple main building is a wonderful symbol of it). And should a strong proprietary competitor outside of Apple's ecosystem emerge, people can always for…
The rest of your comment is... way too political towards gpl.