[PATCH] D71175: [DebugInfo][SelectionDAG] Change order while transferring SDDbgValue to another node
Kristina Bessonova via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 11 08:49:36 PST 2019
krisb added a comment.
@aprantl, @djtodoro thanks! I reduced the test a bit more.
@jmorse, thanks for pointing on this!
I found a couple of dozens of cases building clang where this patch causes SelectionDAG::transferDbgValues() to move processed debug value past another debug value of the same variable and I'm going to investigate them in details but it can take some time.
For now, I think we could conservatively let such debug values be on their places not changing their order (although it doesn't seem necessarily correct) and add corresponding TODO or FIXME note for further investigation.
It looks easy to check if a debug value gets moved past any others of the same variable: just to iterate over SDDbgValues and to find one that in-between From and To by their order. But there is one issue I faced that seems weird to me. I'd expect that a node should get an order that is greater than orders of its operands, but after DAGCombiner it's not true. I found lots of cases where a node has an order less than its operands. Do you know is it expected behavior?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71175/new/
https://reviews.llvm.org/D71175
More information about the llvm-commits
mailing list