1 //===-- RegionPrinter.h - Region printer external interface -----*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file defines external functions that can be called to explicitly
11 // instantiate the region printer.
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_ANALYSIS_REGIONPRINTER_H
16 #define LLVM_ANALYSIS_REGIONPRINTER_H
23 FunctionPass
*createRegionViewerPass();
24 FunctionPass
*createRegionOnlyViewerPass();
25 FunctionPass
*createRegionPrinterPass();
26 FunctionPass
*createRegionOnlyPrinterPass();
29 /// Open a viewer to display the GraphViz vizualization of the analysis
32 /// Practical to call in the debugger.
33 /// Includes the instructions in each BasicBlock.
35 /// @param RI The analysis to display.
36 void viewRegion(llvm::RegionInfo
*RI
);
38 /// Analyze the regions of a function and open its GraphViz
39 /// visualization in a viewer.
41 /// Useful to call in the debugger.
42 /// Includes the instructions in each BasicBlock.
43 /// The result of a new analysis may differ from the RegionInfo the pass
44 /// manager currently holds.
46 /// @param F Function to analyze.
47 void viewRegion(const llvm::Function
*F
);
49 /// Open a viewer to display the GraphViz vizualization of the analysis
52 /// Useful to call in the debugger.
53 /// Shows only the BasicBlock names without their instructions.
55 /// @param RI The analysis to display.
56 void viewRegionOnly(llvm::RegionInfo
*RI
);
58 /// Analyze the regions of a function and open its GraphViz
59 /// visualization in a viewer.
61 /// Useful to call in the debugger.
62 /// Shows only the BasicBlock names without their instructions.
63 /// The result of a new analysis may differ from the RegionInfo the pass
64 /// manager currently holds.
66 /// @param F Function to analyze.
67 void viewRegionOnly(const llvm::Function
*F
);
69 } // End llvm namespace