[PATCH] D96559: Support emitting complex expressions that include entry values

Djordje Todorovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 12 04:25:45 PST 2021


djtodoro added a comment.

This has no effect to llvm/clang, since we support simple register locations as entry values only. D87233 <https://reviews.llvm.org/D87233> and D87357 <https://reviews.llvm.org/D87357> introduce complex-entry-values.



================
Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp:300
+      if (!isIndirect() && !isParameterValue() && !HasComplexExpression &&
+          +DwarfVersion >= 4)
+        emitOp(dwarf::DW_OP_stack_value);
----------------
vsk wrote:
> Stray +?
`DW_OP_entry_value` could be used in the expressions representing `DW_AT_call_value` within `DW_TAG_call_site_parameter`, and I think we should be printing the `DW_OP_stack_value` in these.


================
Comment at: llvm/test/DebugInfo/MIR/X86/complex-entryvalue.mir:46-82
+exposesReturnsTwice: false
+legalized:       false
+regBankSelected: false
+selected:        false
+failedISel:      false
+tracksRegLiveness: true
+hasWinCFI:       false
----------------
NIt: we can get rid of these


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D96559/new/

https://reviews.llvm.org/D96559



More information about the llvm-commits mailing list