[all-commits] [llvm/llvm-project] 9324cc: Change __builtin_sycl_unique_stable_name to just u...

Erich Keane via All-commits all-commits at lists.llvm.org
Tue Sep 28 06:41:29 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9324cc2ca951fe5fe11c85470cb08e699c59499c
      https://github.com/llvm/llvm-project/commit/9324cc2ca951fe5fe11c85470cb08e699c59499c
  Author: Erich Keane <erich.keane at intel.com>
  Date:   2021-09-28 (Tue, 28 Sep 2021)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumCXXABI.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftCXXABI.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/CodeGenSYCL/unique_stable_name.cpp
    M clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp
    M clang/test/SemaSYCL/unique_stable_name.cpp

  Log Message:
  -----------
  Change __builtin_sycl_unique_stable_name to just use an Itanium mangling

After significant problems in our downstream with the previous
implementation, the SYCL standard has opted to make using macros/etc to
change kernel-naming-lambdas in any way UB (even passively). As a
result, we are able to just emit the itanium mangling.

However, this DOES require a little work in the CXXABI, as the microsoft
and itanium mangler use different numbering schemes for lambdas.  This
patch adds a pair of mangling contexts that use the normal 'itanium'
mangling strategy to fill in the "DeviceManglingNumber" used previously
by CUDA.

Differential Revision: https://reviews.llvm.org/D110281




More information about the All-commits mailing list