LLVM Weekly - #141, Sep 12th 2016

Welcome to the one hundred and forty-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 http://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.

As well as having the LLVM Cauldron last week, it was also an eventful weekend so please accept my apologies if I've missed anything important in this issue!

News and articles from around the web

Last Thursday we successfully held the inaugural LLVM Cauldron in Hebden Bridge. I'd like to thank all the speakers, attendees, sponsors, and helpers who made the event such a success. Simon Cook from Embecosm very kindly recorded all the talks and has managed a crazy-fast turnaround time to get them all edited and uploaded ready for you to view. See the video playlist here. Simon's been so fast I haven't even collected PDFs of the slides from all the speakers yet, but you can expect to find them linked to on the LLVM Cauldron page in the next day or two.

Neil Henning has written up part two of his series on compiling a toy language using LLVM. This post explains key concepts such as LLVM Values and Types, symbol tables, and type tables.

NLVM, a new LLVM-based compiler for the Nim programming language has been announced. Currently it passes 90% of the upstream Nim test cases.

On the mailing lists

LLVM commits

In GlobalISel, type information is now stored in MachineRegisterInfo rather than in every MachineInstr. r281035.

LLVM's OCaml bindings can now be built out-of-tree. r280642.

The C++ Itanium demangler from libcxxabi has been imported in to LLVM. r280732.

A new field has been added to the Instruction TableGen class. AsmVariantName is used to indicate instructions that are only available in specific assembler variants. r280952.

Clang commits

Work has started to support export declarations as specified in the C++ Modules TS. r280999.

A Visual Studio extension for clang-tidy has been added to the clang-tools-extra repository. For now it only supports graphically configuring clang-tidy settings. r280840.

The Microsoft pragma intrinsic extension (used to tell the compiler to use a builtin version of the function) is now supported, though is somewhat redundant in Clang as it will already use a builtin version of a function when possible by default. r280825.

Other project commits