LLVM Weekly - #234, June 25th 2018
Welcome to the two hundred and thirty-fourth 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
The next LLVM Sydney Users and Developers Meetup has been announced for this Thursday 28th June. It will feature a deep-dive into LLVM IR and the C++ API.
The video recording of the 12th LLVM Social Berlin is now available. Stefan Gränitz talks about ThinLTO and Incremental JIT Compilation.
On the mailing lists
-
Alan Davis is seeking feedback on his proposed method of modeling pre/post increment/decrement addressing modes. No responses yet, but I'm sure there are others who are interested.
-
Vedant Kumar kicked off an RFC on removing debug locations from ConstantSDNodes. This generated a reasonable amount of discussion, which Vedant was kind enough to summarise.
-
Piotr Padlewski reports that he's got a pair of devirtualisation patches up for review and is seeking help in getting them approved. These show an 80% performance boost in one microbenchmark, 0.7% on 7zip.
-
Duncan P. N. Exon Smith started an RFC thread on whether SmallVectors should be smaller.
LLVM commits
-
TableGen support for SearchableTables was rewritten to rely on more generic primitives (GenericEnum, GenericTable, SearchIndex) which allow generating custom enums and tables with lookup functions. r335225.
-
The loop unswitching pass learned to perform partial unswitching. r335156, r335203.
-
It is now possible to have tied operands of different classes in aliases. r334942.
-
The WebAssembly tablegen definitions now describe two parallel instruction sets: register-based and stack-based. r334985.
-
The assembler directives added to support CodeView emission have been documented. r335058.
-
The new Instruction::getNextNonDebugInstruction() and skipDebugInfo(BasicBlock::iterator) helpers can be used to help skip debug instuctions. r335083.
-
foreach TableGen multiclasses can now depend on template arguments. r335221.
Clang commits
-
A new protobuf-based fuzzer was added, supporting the generation of LLVM IR. r335374.
-
The Clang Static Analyzer gained the ability to report uninitialized fields after object construction. r334935.
-
A python tool for dumping and constructor header maps was checked in. r335177.