Mercurial > hg > CbC > CbC_llvm
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 |