[PATCH] D85144: [clang] Improve Dumping of APValues
Richard Smith - zygoloid via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 7 12:41:11 PDT 2020
rsmith added a comment.
Ideally we should be tree-dumping the `LValue` representation rather than pretty-printing it (and similarly for member pointers and label address differences). The problem with doing so is that we can't interpret the `LValuePathEntry`s without knowing the type of the lvalue base. However, we could fix that: `LValuePathEntry` has spare bits. As a result of PR8256, we require the size *in bits* of an array type to fit into 64 bits, so the maximum possible array index is 2^61 (and the pointer representation is a `Decl*`, which has 3 spare low-order bits). So we could track which kind of path entry it is with no additional storage cost, which would remove the need to have an `ASTContext` and a `QualType` in order to be able to correctly dump an `APValue` in `LValue` form.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D85144/new/
https://reviews.llvm.org/D85144
More information about the cfe-commits
mailing list