LLVM: llvm::DOTGraphTraitsViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT (original) (raw)
#include "[llvm/Analysis/DOTGraphTraitsPass.h](DOTGraphTraitsPass%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| DOTGraphTraitsViewer (StringRef GraphName) | |
| virtual bool | processFunction (Function &F, const typename AnalysisT::Result &Result) |
| Return true if this function should be processed. | |
| PreservedAnalyses | run (Function &F, FunctionAnalysisManager &FAM) |
| Public Member Functions inherited from llvm::PassInfoMixin< DerivedT > | |
| void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
| Protected Member Functions |
|---|
template<typename AnalysisT, bool IsSimple, typename GraphT = typename AnalysisT::Result *, typename AnalysisGraphTraitsT = DefaultAnalysisGraphTraits<typename AnalysisT::Result &, GraphT>>
struct llvm::DOTGraphTraitsViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >
Definition at line 46 of file DOTGraphTraitsPass.h.
template<typename AnalysisT, bool IsSimple, typename GraphT = typename AnalysisT::Result *, typename AnalysisGraphTraitsT = DefaultAnalysisGraphTraits<typename AnalysisT::Result &, GraphT>>
◆ ~DOTGraphTraitsViewer()
template<typename AnalysisT, bool IsSimple, typename GraphT = typename AnalysisT::Result *, typename AnalysisGraphTraitsT = DefaultAnalysisGraphTraits<typename AnalysisT::Result &, GraphT>>
Avoid compiler warning "has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]" in derived classes.
DOTGraphTraitsViewer is also used as a mixin for avoiding repeated implementation of viewer passes, ie there should be no runtime-polymorphisms/downcasting involving this class and hence no virtual destructor needed. Making this dtor protected stops accidental invocation when the derived class destructor should have been called. Those derived classes sould be marked final to avoid the warning.
◆ processFunction()
template<typename AnalysisT, bool IsSimple, typename GraphT = typename AnalysisT::Result *, typename AnalysisGraphTraitsT = DefaultAnalysisGraphTraits<typename AnalysisT::Result &, GraphT>>
Return true if this function should be processed.
An implementation of this class my override this function to indicate that only certain functions should be viewed.
Parameters
| Result | The current analysis result for this function. |
|---|
Definition at line 57 of file DOTGraphTraitsPass.h.
References F.
Referenced by run().
◆ run()
template<typename AnalysisT, bool IsSimple, typename GraphT = typename AnalysisT::Result *, typename AnalysisGraphTraitsT = DefaultAnalysisGraphTraits<typename AnalysisT::Result &, GraphT>>
The documentation for this struct was generated from the following file:
- include/llvm/Analysis/DOTGraphTraitsPass.h