My involvement with LLVM 18

LLVM 18 will soon be relased. This post provides a summary of my contributions in this release cycle to record my learning progress.


See lld 18 ELF changes


  • Removed many obsoleted workarounds from the integrated assembler
  • Fixed placement of function entry comments
  • Re-architectured a substantial part of the integrated assembler that is used by RISC-V linker relaxation, fixing some longstanding bugs. See The dark side of RISC-V linker relaxation for detail.


Driver maintenance


  • Function multi-versioning: don't set comdat for internal linkage resolvers

Code review

Reviewed many patches, including ADT/Support, binary utilities, MC, lld (sometimes non-ELF ports even if my primary expertise is in ELF), clangDriver, LTO, sanitizers, LoongArch, RISC-V, x86-64 medium/large code models, etc.

TODO is:pr is:closed sort:updated-desc review-requested:@me lists pull requests that requested a review from me, but it's unclear how to list pull requests that I've made a comment.