[all-commits] [llvm/llvm-project] 7d7116: [CIR] Upstream support for name mangling (#137094)

Andy Kaylor via All-commits all-commits at lists.llvm.org
Thu Apr 24 14:24:40 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7d71164855fb22b48cbd65a1e372be804dc404bb
      https://github.com/llvm/llvm-project/commit/7d71164855fb22b48cbd65a1e372be804dc404bb
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    A clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/basic.cpp
    M clang/test/CIR/CodeGen/binop.cpp
    M clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/CodeGen/cast.cpp
    M clang/test/CIR/CodeGen/cmp.cpp
    M clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/int-to-bool.cpp
    M clang/test/CIR/CodeGen/local-vars.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    M clang/test/CIR/CodeGen/nullptr-init.cpp
    M clang/test/CIR/CodeGen/struct.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/Lowering/array.cpp
    M clang/test/CIR/Lowering/basic.cpp
    M clang/test/CIR/Lowering/func-simple.cpp
    M clang/test/CIR/Lowering/local-vars.cpp
    M clang/test/CIR/func-simple.cpp
    M clang/test/CIR/global-var-linkage.cpp

  Log Message:
  -----------
  [CIR] Upstream support for name mangling (#137094)

We have been using the default names for global symbols to this point.
This change introduces proper name mangling for functions.

This requires introducing a CXXABI class in the CIRGenModule. Because
only target independent name mangling is handled in this patch, the
CXXABI class does not require a target-specific implementation. The
general mechanism for selecting an implementation is introduced here,
but the actual target-specific subclasses are deferred until needed.



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