Originally posted by CommunityMember
View Post
Announcement
Collapse
No announcement yet.
Intel Fully Embracing LLVM For Their C/C++ Compilers
Collapse
X
-
-
Would be interesting to see if Intel ever moves to rebase Clear Linux entirely on LLVM...
- Likes 1
Leave a comment:
-
Originally posted by paulpach View PostWhat is happening in compilers is basically the same thing that happened in browsers.
LLVM is the compiler building block with well-written code that everyone is using, with contributions from Apple, Google, and now MS... just like WebKit.
GCC is the mature and established open source solution... just like firefox.
The GCC steering committee tried to stem the talent drain by no longer requiring assignment of copyright to FSF, but it is likely too little, too late, for all the deep resources (money) to care, and besides, Stallman is persona non grata to some (previous) GCC developers (resulting in losing additional talent, and while some individuals doubled down, although no new deep talent joined the gcc team).
GCC showed that independent open source compilers could happen and were worthwhile. It was successful in that effort, and should be commended. And now it has been surpassed by LLVM (with LTO and PGO in the Linux kernel), which is the better compiler for at least some targets. Let open source succeed, and LLVM is one of the successes.
Of course, those that can only offer FUD, and are apparently afraid of LLVM, and tremble in fear of the eventual stagnation of their personal favorite compiler, will be more than willing to offer allegations about the evilness that is LLVM, but they never, ever offer actual evidence of their assertions. They have decided that the mantra of meritocracy does not matter when their personal ox is gored. They, of course, show they are not in favor of free and open source meritocracy.
- Likes 1
Leave a comment:
-
Originally posted by grigi View Post
MSVC is based on the Watcom compiler, Watcom really knew their stuff, and was soooo far ahead of competitors at their time. It's still a very solid compiler. Fully closed source.
LLVM is that good-enough base that has no license restrictions so everyone is using it to cut costs, and avoid actually contributing to open source properly.
GCC is still the easiest compiler to get up and running for a new architecture. Downside is it's fully open, and many companies don't want to take OSS seriously.
Having had to integrate with LLVM it seems clean, but was absolute mess with bugs and undefined behavior all over the place. Even the Rust team complains a lot about the undefined behavior being a big issue for them, and it seems a very large portion of their bugs can't be fixed without LLVM fixing that, but that would break API, so they wont. Its permissive license is now limiting it as we now have multiple proprietary branches where code never goes upstream, but they all have a vested interest in steering the project.
The thing that many people miss, is that CLANG is the very well written project, and it already talks to LLVM, hence LLVM gets all this free publicity.Last edited by flashmozzg; 11 August 2021, 08:22 PM.
- Likes 1
Leave a comment:
-
Originally posted by paulpach View PostWhat is happening in compilers is basically the same thing that happened in browsers.
LLVM is the compiler building block with well-written code that everyone is using, with contributions from Apple, Google, and now MS... just like WebKit.
MSVC is the king of the hill in windows from Microsoft... just like IE used to be.
GCC is the mature and established open source solution... just like firefox.
- Likes 1
Leave a comment:
-
Originally posted by carewolf View Post
They are.
The other advantages icc used to have, like autovectorization are largely caught up to. (except good vectorization of FP commands require fast-math)
ICC still has all the SPEC tricks (just like AOCC and XL). And while the latest version is based on LLVM (again like AOCC), it will remain proprietary.
Leave a comment:
-
Originally posted by coats View Post...The reason nobody wants to contribute to GCC is because it's GPL which is, from a legal standpoint, the most annoying and obnoxious license ever conceived and appreciated by nobody except literal software cultists who think software deserves more rights than human beings...
No, the reason I use GPL is that I don't want 419701 lines of my (environmental modeling) code stolen, with my attribution removed.
There's the Zlib license, which pretty much forbids people from pretending that they made something that they didn't. Pretty sure most BSD licenses require attribution of some sort, too.
Leave a comment:
-
Originally posted by thebear View PostSo I tried this on a project swapping CXX to icpx. I note that C++ concepts not yet supported, but that's OK. I simply added a bunch of conditional macros based on __cpp_concepts >= 201907L.
What was more surprising though was that __FAST_MATH__ macro was defined even for -O0 (I have some code which is invalidated if compiled with imprecise floating point arithmetics). So I had to explicitly pass -fp-model precise for the macro not to be defined. It would be a shame if those reported floating point performance gains over gcc/clang just boils down to more aggressive default optimization levels...
The other advantages icc used to have, like autovectorization are largely caught up to. (except good vectorization of FP commands require fast-math)
- Likes 1
Leave a comment:
-
...The reason nobody wants to contribute to GCC is because it's GPL which is, from a legal standpoint, the most annoying and obnoxious license ever conceived and appreciated by nobody except literal software cultists who think software deserves more rights than human beings...
No, the reason I use GPL is that I don't want 419701 lines of my (environmental modeling) code stolen, with my attribution removed.
- Likes 1
Leave a comment:
-
Originally posted by jayN View PostHere's a strange detail. In the last q/a of the techdecoded webinar, "Introducing the Next Gen of Intel® Parallel Studio: Transitioning to the Latest HPC Software Development Suite
", they state that icx and ifx will still need to be paired with gcc headers and glibc library.
- Likes 5
Leave a comment:
Leave a comment: