LLVM  6.0.0svn
RegionPrinter.h
Go to the documentation of this file.
1 //===-- RegionPrinter.h - Region printer external interface -----*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file defines external functions that can be called to explicitly
11 // instantiate the region printer.
12 //
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef LLVM_ANALYSIS_REGIONPRINTER_H
16 #define LLVM_ANALYSIS_REGIONPRINTER_H
17 
18 namespace llvm {
19  class FunctionPass;
20  class Function;
21  class RegionInfo;
22 
23  FunctionPass *createRegionViewerPass();
24  FunctionPass *createRegionOnlyViewerPass();
25  FunctionPass *createRegionPrinterPass();
26  FunctionPass *createRegionOnlyPrinterPass();
27 
28 #ifndef NDEBUG
29  /// @brief Open a viewer to display the GraphViz vizualization of the analysis
30  /// result.
31  ///
32  /// Practical to call in the debugger.
33  /// Includes the instructions in each BasicBlock.
34  ///
35  /// @param RI The analysis to display.
36  void viewRegion(llvm::RegionInfo *RI);
37 
38  /// @brief Analyze the regions of a function and open its GraphViz
39  /// visualization in a viewer.
40  ///
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.
45  ///
46  /// @param F Function to analyze.
47  void viewRegion(const llvm::Function *F);
48 
49  /// @brief Open a viewer to display the GraphViz vizualization of the analysis
50  /// result.
51  ///
52  /// Useful to call in the debugger.
53  /// Shows only the BasicBlock names without their instructions.
54  ///
55  /// @param RI The analysis to display.
57 
58  /// @brief Analyze the regions of a function and open its GraphViz
59  /// visualization in a viewer.
60  ///
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.
65  ///
66  /// @param F Function to analyze.
67  void viewRegionOnly(const llvm::Function *F);
68 #endif
69 } // End llvm namespace
70 
71 #endif
FunctionPass * createRegionViewerPass()
void viewRegion(llvm::RegionInfo *RI)
Open a viewer to display the GraphViz vizualization of the analysis result.
Compute iterated dominance frontiers using a linear time algorithm.
Definition: AllocatorList.h:24
F(f)
void viewRegionOnly(llvm::RegionInfo *RI)
Open a viewer to display the GraphViz vizualization of the analysis result.
FunctionPass * createRegionOnlyViewerPass()
FunctionPass * createRegionOnlyPrinterPass()
FunctionPass * createRegionPrinterPass()