1 //===-- llvm/Analysis/Writer.h - Printer for Analysis routines ---*- C++ -*--=//
3 // This library provides routines to print out various analysis results to
6 //===----------------------------------------------------------------------===//
8 #ifndef LLVM_ANALYSIS_WRITER_H
9 #define LLVM_ANALYSIS_WRITER_H
11 #include "llvm/Assembly/Writer.h"
15 // This library provides support for printing out Intervals.
17 void WriteToOutput(const Interval *I, ostream &o);
18 inline ostream &operator <<(ostream &o, const Interval *I) {
19 WriteToOutput(I, o); return o;
22 // Stuff for printing out Dominator data structures...
24 class ImmediateDominators;
26 class DominanceFrontier;
28 void WriteToOutput(const DominatorSet &, ostream &o);
29 inline ostream &operator <<(ostream &o, const DominatorSet &DS) {
30 WriteToOutput(DS, o); return o;
33 void WriteToOutput(const ImmediateDominators &, ostream &o);
34 inline ostream &operator <<(ostream &o, const ImmediateDominators &ID) {
35 WriteToOutput(ID, o); return o;
38 void WriteToOutput(const DominatorTree &, ostream &o);
39 inline ostream &operator <<(ostream &o, const DominatorTree &DT) {
40 WriteToOutput(DT, o); return o;
43 void WriteToOutput(const DominanceFrontier &, ostream &o);
44 inline ostream &operator <<(ostream &o, const DominanceFrontier &DF) {
45 WriteToOutput(DF, o); return o;
47 } // End namespace CFG