| //===-- RegionPrinter.h - Region printer external interface -----*- C++ -*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file defines external functions that can be called to explicitly |
| // instantiate the region printer. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef LLVM_ANALYSIS_REGIONPRINTER_H |
| #define LLVM_ANALYSIS_REGIONPRINTER_H |
| |
| namespace llvm { |
| class FunctionPass; |
| class Function; |
| class RegionInfo; |
| |
| FunctionPass *createRegionViewerPass(); |
| FunctionPass *createRegionOnlyViewerPass(); |
| FunctionPass *createRegionPrinterPass(); |
| FunctionPass *createRegionOnlyPrinterPass(); |
| |
| #ifndef NDEBUG |
| /// Open a viewer to display the GraphViz vizualization of the analysis |
| /// result. |
| /// |
| /// Practical to call in the debugger. |
| /// Includes the instructions in each BasicBlock. |
| /// |
| /// @param RI The analysis to display. |
| void viewRegion(llvm::RegionInfo *RI); |
| |
| /// Analyze the regions of a function and open its GraphViz |
| /// visualization in a viewer. |
| /// |
| /// Useful to call in the debugger. |
| /// Includes the instructions in each BasicBlock. |
| /// The result of a new analysis may differ from the RegionInfo the pass |
| /// manager currently holds. |
| /// |
| /// @param F Function to analyze. |
| void viewRegion(const llvm::Function *F); |
| |
| /// Open a viewer to display the GraphViz vizualization of the analysis |
| /// result. |
| /// |
| /// Useful to call in the debugger. |
| /// Shows only the BasicBlock names without their instructions. |
| /// |
| /// @param RI The analysis to display. |
| void viewRegionOnly(llvm::RegionInfo *RI); |
| |
| /// Analyze the regions of a function and open its GraphViz |
| /// visualization in a viewer. |
| /// |
| /// Useful to call in the debugger. |
| /// Shows only the BasicBlock names without their instructions. |
| /// The result of a new analysis may differ from the RegionInfo the pass |
| /// manager currently holds. |
| /// |
| /// @param F Function to analyze. |
| void viewRegionOnly(const llvm::Function *F); |
| #endif |
| } // End llvm namespace |
| |
| #endif |