[PATCH] D83462: [DWARF] Avoid entry_values production for SCE

Djordje Todorovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 9 01:11:29 PDT 2020


djtodoro created this revision.
djtodoro added reviewers: probinson, aprantl, vsk, dstenb.
djtodoro added projects: debug-info, LLVM.
Herald added subscribers: llvm-commits, hiraditya.

SONY debugger does not support debug entry values feature, so the plan is to avoid production of the entry values by default when the tuning is SCE debugger.

The feature still can be enabled with the `-debug-entry-values` option for the testing/development purposes.

This patch addresses PR46643.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D83462

Files:
  llvm/lib/CodeGen/TargetOptionsImpl.cpp
  llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir


Index: llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir
===================================================================
--- llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir
+++ llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir
@@ -1,16 +1,22 @@
 # RUN: llc -start-before=livedebugvalues -mtriple=x86_64-apple-darwin -o %t %s -filetype=obj
 # RUN: llvm-dwarfdump %t | FileCheck %s
-#
-# int global;
-# int foo(int p, int q, int r) {
-#   global = p + 1;
-#   asm __volatile("" : : : "edi", "esi", "edx");
-#   return 123;
-# }
+
+# RUN: llc -start-before=livedebugvalues -debugger-tune=sce -mtriple=x86_64-sce-ps4 -o %t1 %s -filetype=obj
+# RUN: llvm-dwarfdump %t1 | FileCheck %s -check-prefix=SCE
+
+## Based on:
+## int global;
+## int foo(int p, int q, int r) {
+##   global = p + 1;
+##   asm __volatile("" : : : "edi", "esi", "edx");
+##   return 123;
+## }
 
 # CHECK: DW_TAG_formal_parameter
 # CHECK:   DW_OP_entry_value
 
+# SCE-NOT: DW_OP_GNU_entry_value
+
 --- |
   ; ModuleID = 'multiple-param-dbg-value-entry.ll'
   source_filename = "multiple-param-dbg-value-entry.c"
Index: llvm/lib/CodeGen/TargetOptionsImpl.cpp
===================================================================
--- llvm/lib/CodeGen/TargetOptionsImpl.cpp
+++ llvm/lib/CodeGen/TargetOptionsImpl.cpp
@@ -49,5 +49,6 @@
 /// NOTE: There are targets that still do not support the debug entry values
 /// production.
 bool TargetOptions::ShouldEmitDebugEntryValues() const {
-  return SupportsDebugEntryValues || EnableDebugEntryValues;
+  return (SupportsDebugEntryValues && DebuggerTuning != DebuggerKind::SCE) ||
+         EnableDebugEntryValues;
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D83462.276653.patch
Type: text/x-patch
Size: 1636 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200709/3b504460/attachment-0001.bin>


More information about the llvm-commits mailing list