comparison lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp @ 120:1172e4bd9c6f

update 4.0.0
author mir3636
date Fri, 25 Nov 2016 19:14:25 +0900
parents 7d135dc70f03
children 803732b1fca8
comparison
equal deleted inserted replaced
101:34baf5011add 120:1172e4bd9c6f
98 case ISD::GlobalTLSAddress: return "GlobalTLSAddress"; 98 case ISD::GlobalTLSAddress: return "GlobalTLSAddress";
99 case ISD::FrameIndex: return "FrameIndex"; 99 case ISD::FrameIndex: return "FrameIndex";
100 case ISD::JumpTable: return "JumpTable"; 100 case ISD::JumpTable: return "JumpTable";
101 case ISD::GLOBAL_OFFSET_TABLE: return "GLOBAL_OFFSET_TABLE"; 101 case ISD::GLOBAL_OFFSET_TABLE: return "GLOBAL_OFFSET_TABLE";
102 case ISD::RETURNADDR: return "RETURNADDR"; 102 case ISD::RETURNADDR: return "RETURNADDR";
103 case ISD::ADDROFRETURNADDR: return "ADDROFRETURNADDR";
103 case ISD::FRAMEADDR: return "FRAMEADDR"; 104 case ISD::FRAMEADDR: return "FRAMEADDR";
104 case ISD::LOCAL_RECOVER: return "LOCAL_RECOVER"; 105 case ISD::LOCAL_RECOVER: return "LOCAL_RECOVER";
105 case ISD::READ_REGISTER: return "READ_REGISTER"; 106 case ISD::READ_REGISTER: return "READ_REGISTER";
106 case ISD::WRITE_REGISTER: return "WRITE_REGISTER"; 107 case ISD::WRITE_REGISTER: return "WRITE_REGISTER";
107 case ISD::FRAME_TO_ARGS_OFFSET: return "FRAME_TO_ARGS_OFFSET"; 108 case ISD::FRAME_TO_ARGS_OFFSET: return "FRAME_TO_ARGS_OFFSET";
109 case ISD::EH_DWARF_CFA: return "EH_DWARF_CFA";
108 case ISD::EH_RETURN: return "EH_RETURN"; 110 case ISD::EH_RETURN: return "EH_RETURN";
109 case ISD::EH_SJLJ_SETJMP: return "EH_SJLJ_SETJMP"; 111 case ISD::EH_SJLJ_SETJMP: return "EH_SJLJ_SETJMP";
110 case ISD::EH_SJLJ_LONGJMP: return "EH_SJLJ_LONGJMP"; 112 case ISD::EH_SJLJ_LONGJMP: return "EH_SJLJ_LONGJMP";
111 case ISD::EH_SJLJ_SETUP_DISPATCH: return "EH_SJLJ_SETUP_DISPATCH"; 113 case ISD::EH_SJLJ_SETUP_DISPATCH: return "EH_SJLJ_SETUP_DISPATCH";
112 case ISD::ConstantPool: return "ConstantPool"; 114 case ISD::ConstantPool: return "ConstantPool";
117 case ISD::INTRINSIC_VOID: 119 case ISD::INTRINSIC_VOID:
118 case ISD::INTRINSIC_W_CHAIN: { 120 case ISD::INTRINSIC_W_CHAIN: {
119 unsigned OpNo = getOpcode() == ISD::INTRINSIC_WO_CHAIN ? 0 : 1; 121 unsigned OpNo = getOpcode() == ISD::INTRINSIC_WO_CHAIN ? 0 : 1;
120 unsigned IID = cast<ConstantSDNode>(getOperand(OpNo))->getZExtValue(); 122 unsigned IID = cast<ConstantSDNode>(getOperand(OpNo))->getZExtValue();
121 if (IID < Intrinsic::num_intrinsics) 123 if (IID < Intrinsic::num_intrinsics)
122 return Intrinsic::getName((Intrinsic::ID)IID); 124 return Intrinsic::getName((Intrinsic::ID)IID, None);
123 else if (const TargetIntrinsicInfo *TII = G->getTarget().getIntrinsicInfo()) 125 else if (const TargetIntrinsicInfo *TII = G->getTarget().getIntrinsicInfo())
124 return TII->getName(IID); 126 return TII->getName(IID);
125 llvm_unreachable("Invalid intrinsic ID"); 127 llvm_unreachable("Invalid intrinsic ID");
126 } 128 }
127 129
200 case ISD::FMA: return "fma"; 202 case ISD::FMA: return "fma";
201 case ISD::FMAD: return "fmad"; 203 case ISD::FMAD: return "fmad";
202 case ISD::FREM: return "frem"; 204 case ISD::FREM: return "frem";
203 case ISD::FCOPYSIGN: return "fcopysign"; 205 case ISD::FCOPYSIGN: return "fcopysign";
204 case ISD::FGETSIGN: return "fgetsign"; 206 case ISD::FGETSIGN: return "fgetsign";
207 case ISD::FCANONICALIZE: return "fcanonicalize";
205 case ISD::FPOW: return "fpow"; 208 case ISD::FPOW: return "fpow";
206 case ISD::SMIN: return "smin"; 209 case ISD::SMIN: return "smin";
207 case ISD::SMAX: return "smax"; 210 case ISD::SMAX: return "smax";
208 case ISD::UMIN: return "umin"; 211 case ISD::UMIN: return "umin";
209 case ISD::UMAX: return "umax"; 212 case ISD::UMAX: return "umax";
376 OS << (const void*)&Node; 379 OS << (const void*)&Node;
377 #endif 380 #endif
378 }); 381 });
379 } 382 }
380 383
381 void SDNode::dump() const { dump(nullptr); } 384 LLVM_DUMP_METHOD void SDNode::dump() const { dump(nullptr); }
382 void SDNode::dump(const SelectionDAG *G) const { 385 void SDNode::dump(const SelectionDAG *G) const {
383 print(dbgs(), G); 386 print(dbgs(), G);
384 dbgs() << '\n'; 387 dbgs() << '\n';
385 } 388 }
386 389
588 591
589 dbgs().indent(indent); 592 dbgs().indent(indent);
590 N->dump(G); 593 N->dump(G);
591 } 594 }
592 595
593 void SelectionDAG::dump() const { 596 LLVM_DUMP_METHOD void SelectionDAG::dump() const {
594 dbgs() << "SelectionDAG has " << AllNodes.size() << " nodes:\n"; 597 dbgs() << "SelectionDAG has " << AllNodes.size() << " nodes:\n";
595 598
596 for (allnodes_const_iterator I = allnodes_begin(), E = allnodes_end(); 599 for (allnodes_const_iterator I = allnodes_begin(), E = allnodes_end();
597 I != E; ++I) { 600 I != E; ++I) {
598 const SDNode *N = &*I; 601 const SDNode *N = &*I;
628 OS << ':' << RN; 631 OS << ':' << RN;
629 return false; 632 return false;
630 } 633 }
631 } 634 }
632 635
633 typedef SmallPtrSet<const SDNode *, 128> VisitedSDNodeSet; 636 typedef SmallPtrSet<const SDNode *, 32> VisitedSDNodeSet;
634 static void DumpNodesr(raw_ostream &OS, const SDNode *N, unsigned indent, 637 static void DumpNodesr(raw_ostream &OS, const SDNode *N, unsigned indent,
635 const SelectionDAG *G, VisitedSDNodeSet &once) { 638 const SelectionDAG *G, VisitedSDNodeSet &once) {
636 if (!once.insert(N).second) // If we've been here before, return now. 639 if (!once.insert(N).second) // If we've been here before, return now.
637 return; 640 return;
638 641