LLVM Weekly - #251, October 22nd 2018
Welcome to the two hundred and fifty-first issue of LLVM Weekly, a weekly newsletter (published every Monday) covering developments in LLVM, Clang, and related projects. LLVM Weekly is brought to you by Alex Bradbury. Subscribe to future issues at https://llvmweekly.org and pass it on to anyone else you think may interested. Please send any tips or feedback to asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.
News and articles from around the web
Last week was yet another hugely successful LLVM Dev Meeting. Many thanks to the organisers, sponsors, speakers, and attendees. Talks were recorded as usual and will appear on the LLVM Foundation Youtube channel in due course. If you're interested in my LLVM backend tutorial and associated coding lab, check out the slides and coding lab instructions.
Adobe have released hyde, a C++ documentation tool using Clang's libTooling. It is built to support documentation being specified out-of-line rather than inline within source as code comments.
On the mailing lists
-
Chandler Carruth provided an update on the effort to relicense LLVM. There is a form and relicensing agreement that all contributors should fill out for themselves, and a version of the relicensing agreement that all LLVM-contributing companies should sign as well. Read the email for a detailed run-down of the plan going forwards.
-
Tom Stellard shared an update on the SVN to Git(Hub) migration. "Official monorepo repository will be published on Tuesday, Oct 23, 2018. After this date, you should modify your workflows to use the monorepo ASAP. Current workflows will be supported for at most 1 more year."
-
The "LLVMPar working group" have authored a detailed RFC on extensions to allow parallel compilers to be built on top of LLVM IR. The extension of LLVM IR relies on operand bundles, the token type, and three new intrinsic functions. The RFC describes how these can be used to support Tapir, HPVM, and OpenMP. Jeffrey Sandoval gave feedback based on his experience with the Cray compiler.
-
Ana Pazos shared an RFC on Machine Code Protobuf-based fuzzers. This approach was implemented over the summer with Jocelyn Wei (on an internship) for RISC-V and has successfully found bugs and compatibility issues.
-
Alex L shares an RFC on a prototype of clang-scan-deps, a faster dependency scanning tool.
-
Maksim Panchenko shares a write-up of using the BOLT post-link optimiser to speed up Clang by up to 15%. Sriraman Tallam responds with some detailed thoughts from the compiler optimisation team at Google on how a post-link optimisation tool assisted by the linker might provide greater scalability.
-
Yevgeny Rouban would like thread-specific cl::opt values and wrote an RFC on this matter.
-
Zachary Turner wrote up a summary of the LLVM/Clang to C++14/17 BoF. The BoF attendees suggested a target of March 2019 to move to C++14/17 and nobody has yet presented a strong argument for only moving to C++14.
-
Sam McCall is seeking feedback on pursuing a more independent identity for clangd on GitHub. e.g. using GitHub issues rather than LLVM's bugzilla and using GitHub pages for docs.
LLVM commits
-
A new divergence analysis for unstructured reducible control-flow graphs was committed. r344374.
-
getTerminator now returns a generic
Instruction
. This is part of the effort to removeTerminatorInst
. r344504. -
passes=
will now produce meaningful error messages. r344685. -
The old ORC 'layers' are now prefixed with
Legacy
. r344572. -
A new signed saturation addition intrinsic was added. r344629.
Clang commits
-
The Clang static analyzer list of open projects was updated. r344663.
-
The Clang driver will now exit with a special return code for SIGPIPE. r344536.