From f9bd02a89af7cff3c1cd0521bee1269d06c0a782 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 3 Jul 2001 05:37:26 +0000 Subject: [PATCH] Checkin of new Analysis result printing header llvm-svn: 130 --- llvm/include/llvm/Analysis/Writer.h | 49 +++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 llvm/include/llvm/Analysis/Writer.h diff --git a/llvm/include/llvm/Analysis/Writer.h b/llvm/include/llvm/Analysis/Writer.h new file mode 100644 index 000000000000..4d668380946a --- /dev/null +++ b/llvm/include/llvm/Analysis/Writer.h @@ -0,0 +1,49 @@ +//===-- llvm/Analysis/Writer.h - Printer for Analysis routines ---*- C++ -*--=// +// +// This library provides routines to print out various analysis results to +// an output stream. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_ANALYSIS_WRITER_H +#define LLVM_ANALYSIS_WRITER_H + +#include "llvm/Assembly/Writer.h" + +namespace cfg { + + // This library provides support for printing out Intervals. + class Interval; + void WriteToOutput(const Interval *I, ostream &o); + inline ostream &operator <<(ostream &o, const Interval *I) { + WriteToOutput(I, o); return o; + } + + // Stuff for printing out Dominator data structures... + class DominatorSet; + class ImmediateDominators; + class DominatorTree; + class DominanceFrontier; + + void WriteToOutput(const DominatorSet &, ostream &o); + inline ostream &operator <<(ostream &o, const DominatorSet &DS) { + WriteToOutput(DS, o); return o; + } + + void WriteToOutput(const ImmediateDominators &, ostream &o); + inline ostream &operator <<(ostream &o, const ImmediateDominators &ID) { + WriteToOutput(ID, o); return o; + } + + void WriteToOutput(const DominatorTree &, ostream &o); + inline ostream &operator <<(ostream &o, const DominatorTree &DT) { + WriteToOutput(DT, o); return o; + } + + void WriteToOutput(const DominanceFrontier &, ostream &o); + inline ostream &operator <<(ostream &o, const DominanceFrontier &DF) { + WriteToOutput(DF, o); return o; + } +} // End namespace CFG + +#endif