[PATCH] D95617: [DWARF] Inlined variables with no location should not have a DW_TAG_variable

Jeremy Morse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 4 04:34:05 PST 2021


jmorse updated this revision to Diff 321379.
jmorse added a comment.
Herald added a subscriber: fedor.sergeev.

I reverted this as a builtbot objected:

  http://lab.llvm.org:8011/#builders/105/builds/5486

The failing test, missing-abstract-variable.ll, is a known bad behaver on certain platforms. In the past it's been XFailed on those platforms because certain inlined parameters get optimised out. That xfail was deleted after these two commits:

  https://reviews.llvm.org/rGff2073a51fe283bde05f48c300e3a9ee807b1b6d
  https://reviews.llvm.org/rG93faeecd8fa1fc148f2ee0d0cb64f11c3d41ce49

I believe the latter was allowing more DBG_VALUEs to pass through isel, which are then optimised out in this test. The behaviour that lets this test pass on (mips, powerpc64, s390x, sparc) is thus exactly the behaviour this patch is trying to disable, and it's fine to re-apply the XFail.

I'll leave this as re-opened but accepted for a ~day, I'm confident about the fix but wanted somewhere to write the explanation, plus leave a little time in case there's a wider view.


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

https://reviews.llvm.org/D95617

Files:
  llvm/include/llvm/CodeGen/DbgEntityHistoryCalculator.h
  llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
  llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  llvm/test/DebugInfo/Generic/missing-abstract-variable.ll
  llvm/test/DebugInfo/Generic/no-empty-child-vars.ll
  llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
  llvm/test/DebugInfo/NVPTX/debug-info.ll
  llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95617.321379.patch
Type: text/x-patch
Size: 26102 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210204/b915d5ee/attachment.bin>


More information about the llvm-commits mailing list