aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-12-11 02:08:35 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-12-11 02:08:35 +0000
commitce25443608063357247ca7943ff623af43debc77 (patch)
tree4a2327d70d9bf451478b4ebda33cef03f312dad6 /lib/CodeGen/SelectionDAG/SelectionDAG.cpp
parent14b32e194152f7147d6f531346b923152e58900f (diff)
Pretty print shuffle mask operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44837 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAG.cpp')
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAG.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 38987d9faa..a93a41dfc9 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -3855,6 +3855,19 @@ void SDNode::dump(const SelectionDAG *G) const {
cerr << ":" << RN;
}
+ if (!isTargetOpcode() && getOpcode() == ISD::VECTOR_SHUFFLE) {
+ SDNode *Mask = getOperand(2).Val;
+ cerr << "<";
+ for (unsigned i = 0, e = Mask->getNumOperands(); i != e; ++i) {
+ if (i) cerr << ",";
+ if (Mask->getOperand(i).getOpcode() == ISD::UNDEF)
+ cerr << "u";
+ else
+ cerr << cast<ConstantSDNode>(Mask->getOperand(i))->getValue();
+ }
+ cerr << ">";
+ }
+
if (const ConstantSDNode *CSDN = dyn_cast<ConstantSDNode>(this)) {
cerr << "<" << CSDN->getValue() << ">";
} else if (const ConstantFPSDNode *CSDN = dyn_cast<ConstantFPSDNode>(this)) {