[all-commits] [llvm/llvm-project] eeeb26: [CIR] Emit globals for declarations that force ext...

adams381 via All-commits all-commits at lists.llvm.org
Wed May 27 11:07:27 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: eeeb26f64efdbccd27a2a0fd094be8d98dc6c231
      https://github.com/llvm/llvm-project/commit/eeeb26f64efdbccd27a2a0fd094be8d98dc6c231
  Author: adams381 <adams at nvidia.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    A clang/test/CIR/CodeGen/inline-extern-force-codegen.c

  Log Message:
  -----------
  [CIR] Emit globals for declarations that force externally visible defs

CIRGenModule::emitGlobal reported NYI for forward declarations that
force an externally visible definition under C99 inline rules (inline
definition in the TU, then a later extern declaration). Classic
CodeGenModule already materializes these with GetOrCreateLLVMFunction;
wire the same path through getAddrOfFunction, including the AArch64
multiversion guard from OGCG.

This pattern shows up in SPEC CPU 2026 berkeley-abc `if.h` when
compiling `abcIf.c` for 729.abc_r / 829.abc_s (`If_CutCopy` at line
527).

Test: `inline-extern-force-codegen.c` with CIR, LLVM, and OGCG checks.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list