[PATCH] D126277: [Debug] [Coroutines] Add deref operator for non complex expression

Jeremy Morse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 26 07:31:28 PDT 2022


jmorse added a comment.

This seems fine to me -- something very similar happens with NRVO in C++, a dbg.declare(..., DW_OP_deref) is created for the implicit output argument. There's a test demonstrating this in clang/test/CodeGenCXX/debug-info-nrvo.cpp.

The whole interplay between levels of DW_OP_deref and whether there are already opcodes in the expression is pretty miserable; what scenarios is salvageDebugInfo called in? I'm trying to reason about when the isComplex test might be necessary. Also, IMO, you should be able to assert that Expr is nonzero. AFAIUI dbg.declare's need to have the expression argument non-null, so any null Expr found here is a problem with the input IR.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D126277



More information about the llvm-commits mailing list