[PATCH] D158185: [DebugInfo] Process single-location debug values in variadic form when producing DWARF
Stephen Tozer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 20 05:31:24 PDT 2023
StephenTozer added a comment.
In D158185#4648729 <https://reviews.llvm.org/D158185#4648729>, @fdeazeve wrote:
> I've just noticed that, for reasons I am still investigating, the optimizer produced this expression in some test:
Are you able to post the test source or an unoptimized reproducer?
> I suspect a similar issue happens with the current implementation of the `isDeref` check. Any thoughts on this? I'm unsure what kind of semantics those `isX` methods should have in the presence of variadic arg lists
The awkwardness of those functions in the context of a variadic debug value is that they're really meant to refer to a specific value, i.e. "is this expression dereferencing register `x`?", rather than being a property of the expression as a whole. Rewriting these to make this make sense is another piece of work imo - for the cases other than `isEntryValue` I don't think this is an issue because iirc they're only being used in cases where we only care about non-variadic debug values anyway. The entry value case should be investigated further (and as you note in your second comment, the expression as written is incorrect).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D158185/new/
https://reviews.llvm.org/D158185
More information about the llvm-commits
mailing list