Just wondering about the status of Julia 0.6 and codegen to the LLVM 4,0 release today.
A lot of optimizations and more, like one small item out of hundreds, where LLVM 4.0 incorporates features like: “__vectorcall uses more registers for arguments than __fastcall or the default x64 calling convention use. Use __vectorcall to speed functions that pass several floating-point or SIMD vector arguments and perform operations that take advantage of the arguments loaded in registers.”
I’m wondering if prior major LLVM releases made significant gains in performance?
[llvm-announce] LLVM 4.0.0 Release
Hans Wennborg via llvm-announce llvm-announce at lists.llvm.org
Mon Mar 13 09:55:29 PDT 2017
It is my pleasure to announce that LLVM 4 is now available.
Get it here: http://llvm.org/releases/download.html#4.0.0
LLVM is now using a new versioning scheme, increasing the major
version number with each major release. Stable updates to this release
will be versioned 4.0.x, and the next major release, six months from
now, will be version 5.0.0. For more information, see
This release is the result of the community’s work over the past six
months, including: use of profile data in ThinLTO, more aggressive
aggressive dead code elimination, experimental support for coroutines,
experimental AVR target, better GNU ld compatibility and significant
performance improvements in LLD, as well as improved optimizations,
many bug fixes and more.
See the release notes for more details:
Thanks to everyone who helped with filing, fixing and code reviewing
for release blocking bugs.
Special thanks to the release testers and packagers: Ben Pope,
Bernhard Rosenkränzer, Diana Picus, Dimitry Andric, Mehdi Amini,
Michał Górny, Renato Golin, Simon Dardis, and Sylvestre Ledru. Also
thanks to Zhendong Su and his team whose fuzz testing prevented many
bugs going into the release.
For questions or comments about this release, please contact the
community on the mailing lists. Onwards to LLVM 5!