[flang-commits] [flang] [mlir] [MLIR][LLVM] Add variant part debug info support (PR #195321)

via flang-commits flang-commits at lists.llvm.org
Sun May 3 22:01:34 PDT 2026


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff origin/main HEAD --extensions h,c,cpp -- flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp mlir/include/mlir-c/Dialect/LLVM.h mlir/lib/CAPI/Dialect/LLVM.cpp mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp mlir/lib/Target/LLVMIR/DebugImporter.cpp mlir/lib/Target/LLVMIR/DebugTranslation.cpp mlir/test/CAPI/llvm.c --diff_from_common_commit
``````````

:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp b/mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
index 00d2bba3f..2bd5b4272 100644
--- a/mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
+++ b/mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
@@ -208,14 +208,12 @@ bool DITypeAttr::classof(Attribute attr) {
 // DIDerivedTypeAttr
 //===----------------------------------------------------------------------===//
 
-LogicalResult
-DIDerivedTypeAttr::verify(function_ref<InFlightDiagnostic()> emitError,
-                          unsigned tag, StringAttr name, DIFileAttr file,
-                          uint32_t line, DIScopeAttr scope, DITypeAttr baseType,
-                          uint64_t sizeInBits, uint32_t alignInBits,
-                          uint64_t offsetInBits,
-                          std::optional<unsigned> dwarfAddressSpace,
-                          DIFlags flags, Attribute extraData) {
+LogicalResult DIDerivedTypeAttr::verify(
+    function_ref<InFlightDiagnostic()> emitError, unsigned tag, StringAttr name,
+    DIFileAttr file, uint32_t line, DIScopeAttr scope, DITypeAttr baseType,
+    uint64_t sizeInBits, uint32_t alignInBits, uint64_t offsetInBits,
+    std::optional<unsigned> dwarfAddressSpace, DIFlags flags,
+    Attribute extraData) {
   if (extraData && !llvm::isa<DINodeAttr, IntegerAttr>(extraData))
     return emitError() << "extraData must be a DINodeAttr or an IntegerAttr";
   return success();
diff --git a/mlir/lib/Target/LLVMIR/DebugImporter.cpp b/mlir/lib/Target/LLVMIR/DebugImporter.cpp
index b3cbe481f..82e100d25 100644
--- a/mlir/lib/Target/LLVMIR/DebugImporter.cpp
+++ b/mlir/lib/Target/LLVMIR/DebugImporter.cpp
@@ -120,9 +120,8 @@ DIDerivedTypeAttr DebugImporter::translateImpl(llvm::DIDerivedType *node) {
     if (auto *constantInt =
             dyn_cast<llvm::ConstantInt>(constantAsMetadata->getValue())) {
       const APInt &value = constantInt->getValue();
-      extraData =
-          IntegerAttr::get(IntegerType::get(context, value.getBitWidth()),
-                           value);
+      extraData = IntegerAttr::get(
+          IntegerType::get(context, value.getBitWidth()), value);
     }
   }
   return DIDerivedTypeAttr::get(
diff --git a/mlir/lib/Target/LLVMIR/DebugTranslation.cpp b/mlir/lib/Target/LLVMIR/DebugTranslation.cpp
index a69e7b533..38d8b96e8 100644
--- a/mlir/lib/Target/LLVMIR/DebugTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/DebugTranslation.cpp
@@ -246,8 +246,7 @@ llvm::DIDerivedType *DebugTranslation::translateImpl(DIDerivedTypeAttr attr) {
                   llvm::ConstantInt::get(llvmCtx, intAttr.getValue()));
             })
             .Default([](Attribute) -> llvm::Metadata * {
-              llvm_unreachable(
-                  "verifier guarantees DINodeAttr or IntegerAttr");
+              llvm_unreachable("verifier guarantees DINodeAttr or IntegerAttr");
             });
   }
 
@@ -257,8 +256,7 @@ llvm::DIDerivedType *DebugTranslation::translateImpl(DIDerivedTypeAttr attr) {
       translate(attr.getBaseType()), attr.getSizeInBits(),
       attr.getAlignInBits(), attr.getOffsetInBits(),
       attr.getDwarfAddressSpace(), /*PtrAuthData=*/std::nullopt,
-      /*Flags=*/static_cast<llvm::DINode::DIFlags>(attr.getFlags()),
-      extraData);
+      /*Flags=*/static_cast<llvm::DINode::DIFlags>(attr.getFlags()), extraData);
 }
 
 llvm::DIStringType *DebugTranslation::translateImpl(DIStringTypeAttr attr) {
diff --git a/mlir/test/CAPI/llvm.c b/mlir/test/CAPI/llvm.c
index caa29379e..7e0cf9fee 100644
--- a/mlir/test/CAPI/llvm.c
+++ b/mlir/test/CAPI/llvm.c
@@ -379,8 +379,8 @@ static void testDebugInfoAttributes(MlirContext ctx) {
   mlirAttributeDump(mlirLLVMDICompositeTypeAttrGetRecSelf(recId1));
 
   MlirAttribute discriminator = mlirLLVMDIDerivedTypeAttrGet(
-      ctx, /*DW_TAG_member=*/0x0d, bar, file, 1, compile_unit, di_type, 8, 0,
-      0, MLIR_CAPI_DWARF_ADDRESS_SPACE_NULL, 0, mlirAttributeGetNull());
+      ctx, /*DW_TAG_member=*/0x0d, bar, file, 1, compile_unit, di_type, 8, 0, 0,
+      MLIR_CAPI_DWARF_ADDRESS_SPACE_NULL, 0, mlirAttributeGetNull());
 
   // CHECK: #llvm.di_composite_type<{{.*}}>
   mlirAttributeDump(mlirLLVMDICompositeTypeAttrGet(

``````````

</details>


https://github.com/llvm/llvm-project/pull/195321


More information about the flang-commits mailing list