https://github.com/xlauko created https://github.com/llvm/llvm-project/pull/146663
This will allow to use Attributes and Types together in tablegen without inducing cyclic dependency. This mirrors incubator changes from https://github.com/llvm/clangir/pull/1727 >From 43374714e80db860b2e51cbb4c33e8ff72d10439 Mon Sep 17 00:00:00 2001 From: xlauko <xla...@mail.muni.cz> Date: Wed, 2 Jul 2025 12:16:53 +0200 Subject: [PATCH] [CIR] Untie Type and Attribute definitions This will allow to use Attributes and Types together in tablegen without inducing cyclic dependency. This mirrors incubator changes from https://github.com/llvm/clangir/pull/1727 --- clang/include/clang/CIR/Dialect/IR/CIRAttrs.h | 22 ++++++++++++------- .../include/clang/CIR/Dialect/IR/CIRDialect.h | 1 + 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/clang/include/clang/CIR/Dialect/IR/CIRAttrs.h b/clang/include/clang/CIR/Dialect/IR/CIRAttrs.h index 64556bcb92baa..925a9a87e267f 100644 --- a/clang/include/clang/CIR/Dialect/IR/CIRAttrs.h +++ b/clang/include/clang/CIR/Dialect/IR/CIRAttrs.h @@ -10,16 +10,15 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_CIR_DIALECT_IR_CIRATTRS_H -#define LLVM_CLANG_CIR_DIALECT_IR_CIRATTRS_H - -#include "clang/CIR/Dialect/IR/CIROpsEnums.h" -#include "clang/CIR/Dialect/IR/CIRTypes.h" +#ifndef CLANG_CIR_DIALECT_IR_CIRATTRS_H +#define CLANG_CIR_DIALECT_IR_CIRATTRS_H #include "mlir/IR/Attributes.h" #include "mlir/IR/BuiltinAttributeInterfaces.h" -#include "llvm/ADT/SmallVector.h" +#include "clang/CIR/Dialect/IR/CIROpsEnums.h" + +#include "clang/CIR/Interfaces/CIRTypeInterfaces.h" //===----------------------------------------------------------------------===// // CIR Dialect Attrs @@ -27,15 +26,22 @@ namespace clang { class FunctionDecl; -class VarDecl; class RecordDecl; +class VarDecl; } // namespace clang namespace cir { class ArrayType; +class BoolType; +class ComplexType; +class IntType; +class MethodType; +class PointerType; +class RecordType; +class VectorType; } // namespace cir #define GET_ATTRDEF_CLASSES #include "clang/CIR/Dialect/IR/CIROpsAttributes.h.inc" -#endif // LLVM_CLANG_CIR_DIALECT_IR_CIRATTRS_H +#endif // CLANG_CIR_DIALECT_IR_CIRATTRS_H diff --git a/clang/include/clang/CIR/Dialect/IR/CIRDialect.h b/clang/include/clang/CIR/Dialect/IR/CIRDialect.h index 5de1722cf5bc2..fdd56ac1f218f 100644 --- a/clang/include/clang/CIR/Dialect/IR/CIRDialect.h +++ b/clang/include/clang/CIR/Dialect/IR/CIRDialect.h @@ -29,6 +29,7 @@ #include "clang/CIR/Dialect/IR/CIRAttrs.h" #include "clang/CIR/Dialect/IR/CIROpsDialect.h.inc" #include "clang/CIR/Dialect/IR/CIROpsEnums.h" +#include "clang/CIR/Dialect/IR/CIRTypes.h" #include "clang/CIR/Interfaces/CIRLoopOpInterface.h" #include "clang/CIR/Interfaces/CIROpInterfaces.h" #include "clang/CIR/MissingFeatures.h" _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits