1

My involvement with LLVM 18

 6 months ago
source link: https://maskray.me/blog/2024-02-25-my-involvement-with-llvm-18
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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.

  • LLVM binary utility maintenance, e.g.
  • sanitizer maintenance, e.g.
  • gcov maintenance
    • Ignore blocks from another file to fix a crash
  • LTO maintenance
    • Improve diagnostics handling when parsing module-level inline assembly (#75726)
  • MC maintenance
  • AArch32
    • [ARM,ELF] Fix access to dso_preemptable __stack_chk_guard with static relocation model (#70014)
  • AArch64
  • MIPS
    • Use generic isBlockOnlyReachableByFallthrough (#80799)
  • RISC-V
  • x86
    • Support inline assembly constraint "Ws"
    • Change displacement overflow when parsing assembly code (#75747)
    • Fix MSVC-style inline assembly call fptr and jmp fptr (#73207)
    • In 32-bit mode, fix FastISel -fno-pic for intrinsics to emit R_386_PC32 instead of R_386_PLT32 (#51078)
    • clang: Support arch=x86-64{,-v2,-v3,-v4} for target_clones attribute
    • clang: __builtin_cpu_supports: support x86-64{,-v2,-v3,-v4}
  • libunwind
    • Bump to CXX_STANDARD 17 (#75986)

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.

Clang

Driver maintenance

Others:

  • 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.

Share Comments


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK