Skip to content

Conversation

@PiJoules
Copy link
Contributor

… types." (#82285)

This reverts commit d9f9775.

The test was missing a REQUIRES: object-emission.

… types." (llvm#82285)

This reverts commit d9f9775.

The test was missing a `REQUIRES: object-emission`.
@PiJoules PiJoules merged commit 0b2b91e into llvm:main Feb 20, 2024
@PiJoules PiJoules deleted the fixed-point.ll-fix branch February 20, 2024 20:09
@llvmbot
Copy link
Member

llvmbot commented Feb 20, 2024

@llvm/pr-subscribers-debuginfo

Author: None (PiJoules)

Changes

… types." (#82285)

This reverts commit d9f9775.

The test was missing a REQUIRES: object-emission.


Full diff: https://github.com/llvm/llvm-project/pull/82412.diff

2 Files Affected:

  • (modified) llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp (+3)
  • (added) llvm/test/DebugInfo/fixed-point.ll (+32)
diff --git a/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp b/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
index eb2d992c7e75e7..f00ff1565c665f 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
@@ -224,12 +224,15 @@ bool DebugHandlerBase::isUnsignedDIType(const DIType *Ty) {
           Encoding == dwarf::DW_ATE_float || Encoding == dwarf::DW_ATE_UTF ||
           Encoding == dwarf::DW_ATE_boolean ||
           Encoding == dwarf::DW_ATE_complex_float ||
+          Encoding == dwarf::DW_ATE_signed_fixed ||
+          Encoding == dwarf::DW_ATE_unsigned_fixed ||
           (Ty->getTag() == dwarf::DW_TAG_unspecified_type &&
            Ty->getName() == "decltype(nullptr)")) &&
          "Unsupported encoding");
   return Encoding == dwarf::DW_ATE_unsigned ||
          Encoding == dwarf::DW_ATE_unsigned_char ||
          Encoding == dwarf::DW_ATE_UTF || Encoding == dwarf::DW_ATE_boolean ||
+         Encoding == llvm::dwarf::DW_ATE_unsigned_fixed ||
          Ty->getTag() == dwarf::DW_TAG_unspecified_type;
 }
 
diff --git a/llvm/test/DebugInfo/fixed-point.ll b/llvm/test/DebugInfo/fixed-point.ll
new file mode 100644
index 00000000000000..eaa67ead3f3136
--- /dev/null
+++ b/llvm/test/DebugInfo/fixed-point.ll
@@ -0,0 +1,32 @@
+;; This fixes https://github.com/llvm/llvm-project/issues/81555
+; REQUIRES: object-emission
+; RUN: %llc_dwarf %s -filetype=obj -o - | llvm-dwarfdump - | FileCheck %s
+; RUN: %llc_dwarf %s -filetype=obj -o - | llvm-dwarfdump - -verify | FileCheck %s --check-prefix=VERIFY
+
+; VERIFY-NOT: error:
+
+; CHECK: {{.*}}:   DW_TAG_base_type
+; CHECK-NEXT:          DW_AT_name  ("var")
+; CHECK-NEXT:          DW_AT_encoding  (DW_ATE_signed_fixed)
+define void @func() !dbg !26 {
+entry:
+  %classifier = alloca i32, align 4
+  tail call void @llvm.dbg.value(metadata i32 32768, metadata !37, metadata !DIExpression()), !dbg !39
+  store i32 32768, ptr %classifier, align 4, !dbg !39
+  ret void
+}
+
+declare void @llvm.dbg.value(metadata, metadata, metadata)
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!19}
+
+!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: !1, emissionKind: FullDebug)
+!1 = !DIFile(filename: "a", directory: "")
+!6 = !DIBasicType(name: "var", size: 32, encoding: DW_ATE_signed_fixed)
+!19 = !{i32 2, !"Debug Info Version", i32 3}
+!3 = !DISubroutineType(types: null)
+!26 = distinct !DISubprogram(unit: !0, type: !3)
+!37 = !DILocalVariable(name: "intercept", arg: 2, scope: !26, file: !1, line: 7, type: !6)
+!39 = !DILocation(line: 0, scope: !26)
+

augusto2112 pushed a commit to augusto2112/llvm-project that referenced this pull request Apr 24, 2024
llvm#82412)

… types." (llvm#82285)

This reverts commit d9f9775.

The test was missing a `REQUIRES: object-emission`.

(cherry picked from commit 0b2b91e)
augusto2112 pushed a commit to augusto2112/llvm-project that referenced this pull request Apr 24, 2024
llvm#82412)

… types." (llvm#82285)

This reverts commit d9f9775.

The test was missing a `REQUIRES: object-emission`.

(cherry picked from commit 0b2b91e)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants