[PATCH] D70248: Disallow shift operations in debug expressions spanning multiple registers

Orlando Cazalet-Hyams via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 15 01:08:40 PST 2019


Orlando added inline comments.


================
Comment at: llvm/test/CodeGen/ARM/debuginfo-split-carryexpr.ll:17
+; CHECK: DBG_VALUE $noreg, $noreg, [[HIGH]]
+; CHECK: DBG_VALUE $noreg, $noreg, [[HIGH]]
+
----------------
vsk wrote:
> It's strange that the DBG_VALUE MIs here are in reverse order (compared to IR). Perhaps that's worth filing a follow-up bug about?
I reckon this is LiveDebugVariables. It should preserve order of DBG_VALUES for (all fragments of ) a particular source variable but not between variables. However, at the moment it doesn't correctly group the DBG_VALUES - DIExpression is used as part of the identity (so a different complex expression referring to the same or overlapping variable fragments is considered a different source variable) . My patch [0] fixes the grouping so only the inconsequential reordering of unrelated DBG_VALUES will happen.

[0] https://reviews.llvm.org/D70121


Repository:
  rL LLVM

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

https://reviews.llvm.org/D70248





More information about the llvm-commits mailing list