16#include "ir/visitor.h"
21void dump(std::ostream &out,
const IR::Node *n);
22void dump(std::ostream &out,
const IR::Node *n,
unsigned maxdepth);
24void dump(
const IR::Node *n,
unsigned maxdepth);
26void dump(
const IR::INode *n,
unsigned maxdepth);
27void dump(uintptr_t p);
28void dump(uintptr_t p,
unsigned maxdepth);
30void dump_notype(
const IR::Node *n,
unsigned maxdepth);
32void dump_notype(
const IR::INode *n,
unsigned maxdepth);
33void dump_notype(uintptr_t p);
34void dump_notype(uintptr_t p,
unsigned maxdepth);
36void dump_src(
const IR::Node *n,
unsigned maxdepth);
38void dump_src(
const IR::INode *n,
unsigned maxdepth);
39void dump(std::ostream &,
const Visitor::Context *);
40void dump(
const Visitor::Context *);
42std::string dumpToString(
const IR::Node *n);
46 const Visitor::Context *ctxt =
nullptr;
48 friend std::ostream &operator<<(std::ostream &,
const Dump &);
51 explicit Dump(
const IR::Node *n,
unsigned maxdepth = ~0U) : n(n), maxdepth(maxdepth) {}
52 explicit Dump(
const Visitor::Context *ctxt) : ctxt(ctxt) {}
55inline std::ostream &operator<<(std::ostream &out,
const Dump &d) {
57 dump(out, d.n, d.maxdepth);
65 DumpPipe() : heading(
nullptr) {}
66 explicit DumpPipe(
const char *h) : heading(h) {}
67 bool preorder(
const IR::Node *pipe)
override;
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:13