From 1a46243e7f562a4c067689827302ac1bb80d065e 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/Writer.h | 49 ++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 include/llvm/Analysis/Writer.h diff --git a/include/llvm/Analysis/Writer.h b/include/llvm/Analysis/Writer.h new file mode 100644 index 00000000000..4d668380946 --- /dev/null +++ b/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