[DAGCombiner] Expand combining of FP logical ops to sign-setting FP ops
[llvm-core.git] / include / llvm / Analysis / RegionPrinter.h
blobe132eaea567460a40ef6135c7fa4b1c4f60f959b
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.
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_ANALYSIS_REGIONPRINTER_H
16 #define LLVM_ANALYSIS_REGIONPRINTER_H
18 namespace llvm {
19 class FunctionPass;
20 class Function;
21 class RegionInfo;
23 FunctionPass *createRegionViewerPass();
24 FunctionPass *createRegionOnlyViewerPass();
25 FunctionPass *createRegionPrinterPass();
26 FunctionPass *createRegionOnlyPrinterPass();
28 #ifndef NDEBUG
29 /// 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);
38 /// 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);
49 /// 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.
56 void viewRegionOnly(llvm::RegionInfo *RI);
58 /// 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
71 #endif