LLVM Weekly - #363, December 14th 2020
Welcome to the three hundred and sixty-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
The call for speakers for the LLVM Performance Workshop at CGO-2021 is out. The event will be taking place virtually on February 28th.
Ralf Jung has blogged about pointer provenance and its interactions with the optimiser.
As noted by Hal Finkel on the mailing list, the 2020 FOSS Contributor Survey has some questions/answers related to LLVM. e.g. ~30% of respondents say they typically use the LLVM compiler suite.
On the mailing lists
-
Tim Northover posted an RFC on ConstantPtrAuth for signed pointers on AArch64, allowing signed pointers to be put into global initialisers.
-
Justin Bogner shared an RFC on representing floating point types in LLT (Global ISel Low Level Types).
-
Tanya Lattner sent out a note regarding EuroLLVM 2021, indicating that the event will be virtual, but exact dates and format are being determined. It also reflects that the first virtual event had many successes, but had less engagement during the event than anticipated.
-
The first issue of LLVM GPU News has been posted.
-
Mike Edwards warns that the LLVM SVN server will be shut-down on January 5th.
-
Sjoerd Meijer asked for feedback on restricting loop invariant code hoisting in cases where it may introduce more spills/reloads, which generated a range of responses.
-
Wei Wu is looking for easy/beginner level projects for interns.
-
Sam Elliott proposed introducing a target-indepent
COMPILER_BARRIER
, sharing common logic between backends rather than reimplementing custom MEMBARRIER nodes for each one. -
James Y Knight posted a summary of proposals in the coroutine and
pthread_self
RFC thread.
LLVM commits
-
llvm.experimental.vector.{insert,extract} intrinsics were added. 80c33de.
-
DataFlowSanitizer can now track taint for individual struct fields or array indices. ea98116.
-
Basic tablegen definitions of the CSKY backend were added. 365c405.
-
The llvm-profgen utility was introduced, which will generate a profile data file from perf script data files for sample-based PGO. 1f05b1a.
-
MIR debug-info constructs were documented. cda32ab.
-
Support was added for the Intel AMX programming model. f80b298.
-
An InstructionCost class was introduced, intended to be used by cost methods instead of just returning an integer. 9b76160.
-
As part of experimental RISC-V vector support, a pass was added to remove duplicate VSETVLI instructions in a basic block. b577d2d.
Clang commits
-
The Baremetal toolchain now has a default sysroot location. 275592e.
-
A
preferred_name
attribute was added that allows the user to specify that e.g.std::string
is the preferred way to expressstd::basic_string<char>
. 2a2c228. -
A performance-no-int-to-ptr check was added to clang-tidy, flagging every integer to pointer cast. 39431e4.