Originally posted by bridgman
View Post
Announcement
Collapse
No announcement yet.
LLVM Began Its Dominance Of The Compiler Landscape This Decade
Collapse
X
-
-
Originally posted by Volta View Post
That's why nobody should support non GPL software.
And maybe weak copyleft (like the LGPL) could be a desirable trade-off for compatibility between two libre/open source pieces of code. To avoid collateral damage of strong copyleft in some cases.
Are the above impressions correct?
Comment
-
Originally posted by Marc Driftmeyer View Post
Who the hell do you think invented Clang and the vast infrastructure of LLVM? It wasn't Lattner. The heavy lifting was the billions and world class teams at Apple, which later Sony, Google, IBM, HP, Cray, Oracle, etc., joined in on. Lattner was a broke Ph.D student when Apple hired him, his wife and dozens of others to compliment their already large development staff. They gave him wide latitude and paid exceedingly well to tinker for the next decade, before bolting to Tesla [and bailing rapidly] then Google.
You keep living a deluded world that FOSS has saved us from tyranny.
The LLVM project started in 2000 at the University of Illinois. And yes Lattner was the guy behind it. His Master Thesis was about LLVM.
"LLVM: An Infrastructure for Multi-Stage Optimization", Chris Lattner.
Masters Thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, Dec. 2002.
Lattner was hired by Apple after getting his Ph.D. in 2005, and not as a student as you claim. Lattner formed the LLVM dev team at Apple and started Clang development.
- Likes 1
Comment
-
Originally posted by ed31337 View PostIn the pre-LLVM days, everything compiled and was compatible with gcc. Now I have to deal with two competing compilers, one of which I've never been successfully able to build from source so far (LLVM). I had to make code changes to my apps to accomodate Google's dropping of support for gcc on Android, since LLVM isn't 100% compatible with gcc and inline assembly. And LLVM isn't that great of a compiler -- it doesn't produce faster code in my use of it and compile times aren't any faster than gcc from what I've seen.
Comment
-
I maintain the C and C++ toolchain for a safety-critical embedded OS. I have been asked many times why we don't switch from GCC to LLVM. Other than the fact that it would be an expense with minimal return on investment (a serious consideration in a commercial enterprise), there are some strong technical reasons as well.
(1) The floating-point support in LLVM is effectively random. Arbitrary support for floating-point exception states in the emitted code, and variations from architecture to architecture, mean it's unsuitable to safety-critical applications. The use of an LLVM-compiled binary in a safety-critical situation would constitute a hazard. Maybe it would be useful when automatically adjusting the trim wheel of a 737 MAX-8, but not where lives are at stake. The floating-point handling in GCC is well-defined, complete, and consistent.
(2) The development methodology used in the LLVM project is anathema to safety-critical process. When hunting down bugfixes I've come across many commits by core maintainers that have no associated bug, no audit trail, no evidence of peer review, and no documentation. A lack of controlled and reviewed development is not acceptable in a tool that generates binaries that lives depend on. WIth GCC I can look at the commits going back to at least the EGCS split (and that is being carried forward to the git repo, maybe, eventually) and the development methodology of requiring OKs from maintainers and posting all changes publicly for review has been in place and enforced for decades.
(3) We build our toolchains using Canadian crosses (ie. we might use a Linux x86-64 machine to build a Windows x86-64 compiler that will generate code for an embedded Arm target). The LLVM toolchain is confidently always a cross compiler: you build for the native host a compiler that will build for all target CPUs. Building Canadian crosses of LLVM is a nightmare. WIth GCC it just works and has never once killed my laptop by eating all the memory and swap (unlike LLVM -- geez guys 32 gigabytes should *really* be enough for anyone).
When it comes to speed of the binaries produced, There is rarely a big difference between GCC and LLVM: certainly no compelling reason to switch. The time it takes to compile and link can be faster with LLVM, but build times are not usually a big determinant with safety-critical or embedded systems.
Anyway, in summary, we haven't switched to the new shiny trendy LLVM because there is no business case to do so and there are strong technical reasons not to do so. Others may have a different experience, this is mine.
- Likes 2
Comment
-
Originally posted by fkoehler View Post
Dear stromcrow,
besides what other people have posted about the obvious practical viability of a BSD license almende, I'd respectfully like to point out to you the ethical dimension of your own post.
It is fully legal and ethical, if able-minded and consenting adults go into a contract where one party offers source code without any strings attached and the other party decides to use it. An "ethical obligation" determining future behavior does not result from this action neither for the one nor for the other party, as this would be completely adverse to the "no-strings-attached" intention. If any expectation of re-contribution would have been intended, a different license with different wording could have very well been used. A third party (you, in case this isn't obvious) is not entitled to redefine neither intention nor wording of the agreement of aforementioned parties.
However, it is highly unethical and even illegal, at least here in Germany, to badmouth a person or company as a contract breaker "ignoring its obligations" (unless that would be very clearly the case and be issued as a statement of fact). So please, take a look in the mirror and try to apply your high ethical standards to yourself (Matthew 7:3-5).
Best regards.
I applaud those individuals that give back to the projects they use, but I don't for one single second believe it's because a corporation believes it's the right thing to do. Corporations aren't people. Corporations are legal fictions created to make the efforts of commerce easier to manage. The individuals inside that corporation may believe so it's the right thing to do, but corporations are not monoliths. Employees come and go. Corporations can and do take without compensation. Again, I'm not German, so this is me exercising my fundamental right to express my opinion, even if a German apparently seems to think it's somehow unethical to do so. Course, Phoronix has the editorial right not to post this, and that's equally their fundamental right in US law.
Comment
-
Originally posted by stormcrow View Post
Ok, first off, I'm not in Germany and I'm not German so your legal arguments are completely inapplicable. I have a fundamental right under US law to state exactly what I stated in the manner I wrote it. I also didn't specify any particular corporation or individual, it was a general statement. I have no idea if what I said is permissible in Germany or the EU, and frankly, I'd be appalled if it wasn't permitted. Secondly, I really think you need to go back and reread your bible because you apparently have a very skewed notion of what's ethical. Third, I do practice what I preach, and if I find bugs in open source software that I use I try to work with the maintainer(s) to fix them regardless of the license. But that's the spirit of the GPL, to give back to the projects you use. Just that in the GPL spirit the publication of any changes to the source files is mandated. I don't have a problem with that. That is not at all too much to ask from people to use the work of someone else's brow. It is not unethical to so require it. If you want actual the Christian ethic: Don't take what isn't yours without paying the asked for compensation. That's part and parcel to the Golden Rule which comes right after your passage: Matthew 7:12. In short, don't steal. And before you state that "ideas aren't property", let me remind you that Christian ethics make no such distinctions as we do in the modern sense. Copyright is a legal fiction of ownership over intangible creative labor. Laborers are ethically right to expect compensation for the fruit of that labor and to name their compensation. That is not only the Christian ethic, but the ethic of many religions not related to Christianity.
I applaud those individuals that give back to the projects they use, but I don't for one single second believe it's because a corporation believes it's the right thing to do. Corporations aren't people. Corporations are legal fictions created to make the efforts of commerce easier to manage. The individuals inside that corporation may believe so it's the right thing to do, but corporations are not monoliths. Employees come and go. Corporations can and do take without compensation. Again, I'm not German, so this is me exercising my fundamental right to express my opinion, even if a German apparently seems to think it's somehow unethical to do so. Course, Phoronix has the editorial right not to post this, and that's equally their fundamental right in US law.
And yes, you pretty much directly labeled Apple a thief (ironic, in the case of LLVM). This might or might not be legal in the US, in Germany it surely is not, because slandering others or companies with "alternative facts" is "verboten" and makes you liable to reparations, we are peculiar this way ;-)
And the Golden Rule is definitely not about "you shall not steal", it is, in the positive form, about "do unto others, as you want them to do unto you". So feel free to use and support GPL. As a matter of fact, I strongly prefer the GPL and projects under GPL license myself. But other people using BSD is not a crime, it is just them exercising the Golden Rule for themselves ;-)
Comment
Comment