[mlir][llvm] Make DI param optional to match LLVM
authorChristian Ulmann <christian.ulmann@nextsilicon.com>
Fri, 17 Feb 2023 12:04:51 +0000 (13:04 +0100)
committerChristian Ulmann <christian.ulmann@nextsilicon.com>
Fri, 17 Feb 2023 12:05:09 +0000 (13:05 +0100)
This commit makes DIDerivedTypeAttr's baseType parameter optional to ensure imported IR
doesn't break the printer.

Reviewed By: gysit

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

mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
mlir/test/Dialect/LLVMIR/debuginfo.mlir

index 85526c4..6c4a8af 100644 (file)
@@ -340,7 +340,7 @@ def LLVM_DIDerivedTypeAttr : LLVM_Attr<"DIDerivedType", "di_derived_type",
   let parameters = (ins
     LLVM_DITagParameter:$tag,
     OptionalParameter<"StringAttr">:$name,
-    "DITypeAttr":$baseType,
+    OptionalParameter<"DITypeAttr">:$baseType,
     OptionalParameter<"uint64_t">:$sizeInBits,
     OptionalParameter<"uint32_t">:$alignInBits,
     OptionalParameter<"uint64_t">:$offsetInBits
index d7123d9..7004d57 100644 (file)
   sizeInBits = 64, alignInBits = 32, offsetInBits = 4
 >
 
-// CHECK-DAG: #[[PTR1:.*]] = #llvm.di_derived_type<tag = DW_TAG_pointer_type, name = "ptr1", baseType = #[[INT0]]>
+// CHECK-DAG: #[[PTR1:.*]] = #llvm.di_derived_type<tag = DW_TAG_pointer_type, name = "ptr1">
 #ptr1 = #llvm.di_derived_type<
   // Specify the name parameter.
-  tag = DW_TAG_pointer_type, name = "ptr1", baseType = #int0
+  tag = DW_TAG_pointer_type, name = "ptr1"
 >
 
 // CHECK-DAG: #[[COMP0:.*]] = #llvm.di_composite_type<tag = DW_TAG_array_type, name = "array0", line = 10, sizeInBits = 128, alignInBits = 32>