aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
diff options
context:
space:
mode:
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)) {