[all-commits] [llvm/llvm-project] 52bc11: [CIR] Derive lowering attr names from cppClassName...

Henrich Lauko via All-commits all-commits at lists.llvm.org
Mon Sep 7 13:54:27 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 52bc117e7930694fed38d2ffb327f77e8bd8a474
      https://github.com/llvm/llvm-project/commit/52bc117e7930694fed38d2ffb327f77e8bd8a474
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/utils/TableGen/CIRLoweringEmitter.cpp

  Log Message:
  -----------
  [CIR] Derive lowering attr names from cppClassName, not the def name (#220891)

CIRLoweringEmitter built its CXX_ABI_ALWAYS_LEGAL_ATTRS entries with
GetOpCppClassName, which splits the TableGen def name at the first
underscore. That works only while every def is named
CIR_<CppClassName>Attr.
When one is not, the emitter writes an `isa<>` for a class that does not
exist, and the failure lands as a compile error in generated code.

Attributes carry the authoritative name in cppClassName, which
GenerateAttrToValueVisitor was already reading. Factor that out as
GetAttrCppClassRef and use it for both attribute paths.
GetOpCppClassName
stays for operations.



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