34 DebugImporter(ModuleOp mlirModule,
bool dropDICompositeTypeElements);
43 DIGlobalVariableExpressionAttr
54 template <
typename DINodeT>
57 using MLIRTypeT =
decltype(translateImpl(node));
58 return cast_or_null<MLIRTypeT>(
59 translate(
static_cast<llvm::DINode *
>(node)));
64 DIBasicTypeAttr translateImpl(llvm::DIBasicType *node);
65 DICompileUnitAttr translateImpl(llvm::DICompileUnit *node);
66 DICompositeTypeAttr translateImpl(llvm::DICompositeType *node);
67 DIDerivedTypeAttr translateImpl(llvm::DIDerivedType *node);
68 DIStringTypeAttr translateImpl(llvm::DIStringType *node);
69 DIFileAttr translateImpl(llvm::DIFile *node);
70 DILabelAttr translateImpl(llvm::DILabel *node);
71 DILexicalBlockAttr translateImpl(llvm::DILexicalBlock *node);
72 DILexicalBlockFileAttr translateImpl(llvm::DILexicalBlockFile *node);
73 DIGlobalVariableAttr translateImpl(llvm::DIGlobalVariable *node);
74 DILocalVariableAttr translateImpl(llvm::DILocalVariable *node);
76 DIModuleAttr translateImpl(llvm::DIModule *node);
77 DINamespaceAttr translateImpl(llvm::DINamespace *node);
78 DIImportedEntityAttr translateImpl(llvm::DIImportedEntity *node);
80 DISubprogramAttr translateImpl(llvm::DISubprogram *node);
81 DISubrangeAttr translateImpl(llvm::DISubrange *node);
82 DIGenericSubrangeAttr translateImpl(llvm::DIGenericSubrange *node);
83 DICommonBlockAttr translateImpl(llvm::DICommonBlock *node);
84 DISubroutineTypeAttr translateImpl(llvm::DISubroutineType *node);
89 StringAttr getStringAttrOrNull(llvm::MDString *stringNode);
95 std::optional<DINodeAttr> createRecSelf(llvm::DINode *node);
115 bool dropDICompositeTypeElements;
MLIRContext is the top-level object for a collection of MLIR operations.