[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