| 921 | } |
| 922 | |
| 923 | void Function::writeDot(const char *filename_prefix) const { |
| 924 | string fname = getName(); |
| 925 | if (filename_prefix) |
| 926 | fname += string(".") + filename_prefix; |
| 927 | |
| 928 | CFG cfg(*const_cast<Function*>(this)); |
| 929 | { |
| 930 | ofstream file(fname + ".cfg.dot"); |
| 931 | cfg.printDot(file); |
| 932 | } |
| 933 | { |
| 934 | ofstream file(fname + ".dom.dot"); |
| 935 | DomTree(*const_cast<Function*>(this), cfg).printDot(file); |
| 936 | } |
| 937 | { |
| 938 | ofstream file(fname + ".looptree.dot"); |
| 939 | LoopAnalysis(*const_cast<Function*>(this)).printDot(file); |
| 940 | } |
| 941 | } |
| 942 | |
| 943 | |
| 944 | void CFG::edge_iterator::next() { |
no test coverage detected