diff options
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 38987d9faad..a93a41dfc98 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/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)) { | 

