LLVM Weekly - #203, Nov 20th 2017
Welcome to the two hundred and third 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 be interested. Please send any tips or feedback to asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.
News and articles from around the web
cquery is an implementation of the language server protocol for C and C++ built on libclang and supports a huge number of features. The author contrasts it to clangd here.
On the mailing lists
-
Saar Raz is interested in contributing to support for C++20 Concepts in Clang and started discussion on a roadmap for its support.
-
Zaara Syeda has posted an RFC on allowing MachineLICM to hoist invariant stores.
-
The discussion on using GlobalISel by default for O0 continues. A few minor ABI issues have been identified.
-
Alex Bradbury explains that guessInstructionProperties=0 is now usable on the backend of your choice. This flag disables the inference of hasSideEffects, mayLoad, and mayStore properties. See the thread for more information.
-
Akira Hatanka has written an RFC on adding a new attribute that indicates non-trivial structs should be passed and returned directly.
LLVM commits
-
A new tablegen backend has been introduced to generate documentation for the opcodes supported by a given target. r318155.
-
LLVM_ENABLE_GISEL_COV
can be used to generate rule coverage information for GlobalISel. r318356. -
A TempFile class has been added to the LLVM Support library. For now it just provides better file handling, but in the future may gain support for unnamed and automatically deleted temporary files depending on platform support. r318069.
-
llvm-objcopy is gaining more functionality, this week learning
--strip-all
and--strip-debug
, and more. r318092, r318094. -
The backend name is now stored in the TargetRegistry. This will require a trivial update for out-of-tree backends. r318352.
-
A number of additional headers have moved from Target to CodeGen. r318490.
Clang commits
-
A new hashing scheme has been introduced for profile guided optimisation (PGO) profile data. r318229.
-
Calls to standard complex math functions are now correctly marked as setting errno. r318598.
Other project commits
-
An initial WebAssembly linker has been added to LLD. r318539.
-
[[nodiscard]]
annotations have started to be added to libcxx. r318269, r318328, and more. -
LLD gained a script for running linker benchmarks and submitting the results to LNT. r318158.
Review corner
The LLVM Weekly review corner serves to highlight patches that are stuck waiting awaiting review, or work from first-time contributors. See here for more information and how to submit you work for inclusion. Of course the hope is that highlighting these patches will enable LLVM Weekly readers will step up and help to get them merged. I'll be reporting back each week on any activity generated on these patches, as well as sharing a new batch. If you want your patch included you must submit it via the linked form.
Last week saw two patch submissions. One saw new review activity and is now committed (thanks Reid Kleckner). Sadly, Haicheng Wu's modifications to the inline cost model still awaits review.
There were no new patch submissions this week.