[SelectionDAG] Updates for -dag-dump-verbose
authorBjorn Pettersson <bjorn.a.pettersson@ericsson.com>
Fri, 18 Jan 2019 20:06:13 +0000 (20:06 +0000)
committerBjorn Pettersson <bjorn.a.pettersson@ericsson.com>
Fri, 18 Jan 2019 20:06:13 +0000 (20:06 +0000)
commitd4023bd2cb2606db1a734966b14f865a52c68285
treefbf1da8a3990ea3fb87268f6a6c990cd5f64ac23
parentf345b0c0b99f0978732d06d2b001375240ab8a41
[SelectionDAG] Updates for -dag-dump-verbose

Summary:
This patch makes some changes related to -dag-dump-verbose.
Main use case has been when debugging how SelectionDAG is
dealing with debug info (SDDbgValue nodes).

1) We now print the number of DbgValues that are mapped to each
   SDNode.
2) Removed duplicated printing of DebugLoc (nowadays DebugLoc is
   printed also when not using -dag-dump-verbose).
3) Renamed SDDbgValue::dump to SDDbgValue::print, and added a
   new SDDbgValue::dump that will start a new line after calling
   print.
4) SDDbgValue::print now prints "Order", and it also prints
   some additional information when kind is CONST/FRAMEIX/VREG.
5) SelectionDAG::dump() now dumps all SDDbgValue nodes after
   the list of SDNodes (both "regular" and "ByVal" SDDbgValue:s).
   Invalidated nodes are not printed.
6) Prohibit inline printing of SDNode operands that has SDDbgValue
   nodes associated to them.

Reviewers: jmorse, aprantl

Reviewed By: aprantl

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D56793

llvm-svn: 351581
llvm/include/llvm/CodeGen/SelectionDAG.h
llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp