[PATCH] D120168: [Debuginfo][LSR][NFC] Add support for salvaging variadic dbg.value intrinsics [1/2]
Orlando Cazalet-Hyams via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 7 03:23:39 PST 2022
Orlando added a comment.
The change SGTM but I found a reproducer that causes clang to crash when this patch is applied:
$ cat reduce.cpp
#include <utility>
template <typename a> class Vec {
public:
void push(a);
};
void d(int argc, char **argv) {
Vec<std::pair<char *, unsigned>> e;
for (int f = 0;;)
for (; f < argc; ++f)
e.push(std::make_pair(argv[f], f));
}
$ clang++ -O2 -g reduce.cpp
/home/och/dev/llvm/llvm-project/llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h:139: llvm::DbgValueLoc::DbgValueLoc(const llvm::DIExpression*, llvm::ArrayRef<llvm::DbgValueLocEntry>, bool): Assertion `Expr && Expr->isValid() && is_contained(Expr->getElements(), dwarf::DW_OP_stack_value)' failed.
...
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D120168/new/
https://reviews.llvm.org/D120168
More information about the llvm-commits
mailing list