LLVM Weekly - #296, September 2nd 2019
Welcome to the two hundred and ninety-sixth 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 LLVM 9.0.0 release candidate 3 is available.
On the mailing lists
-
Tom Stellard has posted instructions for requesting GitHub commit access. If you currently have SVN commit access, you are requested to add your information to the github-usernames.txt file prior to SVN becoming read-only on October 21st.
-
Philipp Reames has proposed changes to atomic load/store in SelectionDAG. Atomic loads and stores will be treated as normal LoadSDNode or StoreSDNodes, but this change will be enabled on a per-backend basis.
-
Sam Elliott posted an RFC on adding the GCC C Torture Suite to the external LLVM test suites. As Sam notes, we've found the torture execution tests incredibly useful in backend development. Sam has an initial patch for review.
-
Reshabh Sharma provided a summary of his GSoC work to support 64-bit pointers in the RISC-V 32-bit backend.
-
Seiya Nuta posted a final report on their GSoC project to improve LLVM binary utilities like llvm-objcopy, llvm-objdump.
-
Csaba Dabis has posted a final report for their GSoC project to apply the Clang Static Analyzer to LLVM.
-
Vic (Chun-Ju) Yang suggests moving the RELRO segment to immediate alfter the read-only segment. While Rui Ueyama was in favour, David Chisnall raised some concerns.
-
Graham Hunter started a discussion on codegen for a scalable vector splat. Renato Golin recapped the main argument about the trade-offs of introducing new constructs / node types.
LLVM commits
-
The LoopIdiomRecognize pass can now recognise a BCmp loop. r370454.
-
llvm-ifs, an LLVM Interface Stubs merging and object file generation tool was committed. r370499.
-
A new shouldExtendTypeInLibCall hook was added and used to ensure libcall lowering on RV64 properly respects the ABI r370275.
-
The GlobalISel importer learned to handled patterns containing
INSERT_SUBREG
andSUBREG_TO_REG
r369973, r370254. -
Scalable vectors are now supported in intrinsics. r370053.
-
The return values of allocation functions are now annotated with
dereferenceable_or_null
. r370168. -
Arm MTE support was updated with an optimisation for unchecked load/stores of stack offsets. r370490.
Clang commits
-
Clang will now warn when it is about to exhaust the stack and can allocate a new stack by spawning a new thread. This improves the user experience when dealing with e.g. heavily recursive template instantiations. r369940.
-
The clang-tidy-vs Visual Studio plugin was removed. Users are encouraged to use Clang Power Tools instead. r370096.
-
The new
-gen-cdb-fragment-path
option can be used to emit a fragment of a compilation database for each compilation. r369938. -
MaxAtomicInlineWidth and MaxAtomicPromoteWidth are now set appropriately for RISC-V targets. r370073.
-
Semantic restrictions were implemented for C++20 designated initializers. r370544.