struct DOTGraphTraitsViewer
Declaration
template <typename AnalysisT,
bool IsSimple,
typename GraphT = typename AnalysisT::Result*,
typename AnalysisGraphTraitsT =
DefaultAnalysisGraphTraits<typename AnalysisT::Result&,
GraphT>>
struct DOTGraphTraitsViewer { /* full declaration omitted */ };
Declared at: llvm/include/llvm/Analysis/DOTGraphTraitsPass.h:43
Templates
- AnalysisT
- bool IsSimple
- GraphT = typename AnalysisT::Result *
- AnalysisGraphTraitsT = DefaultAnalysisGraphTraits<typename AnalysisT::Result &, GraphT>
Member Variables
- private llvm::StringRef Name
Method Overview
- public DOTGraphTraitsViewer<AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT>(llvm::StringRef GraphName)
- public virtual bool processFunction(llvm::Function & F, const typename AnalysisT::Result & Result)
- public llvm::PreservedAnalyses run(llvm::Function & F, llvm::FunctionAnalysisManager & FAM)
- protected ~DOTGraphTraitsViewer<AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT>()
Methods
¶DOTGraphTraitsViewer<AnalysisT,
IsSimple,
GraphT,
AnalysisGraphTraitsT>(
llvm::StringRef GraphName)
DOTGraphTraitsViewer<AnalysisT,
IsSimple,
GraphT,
AnalysisGraphTraitsT>(
llvm::StringRef GraphName)
Declared at: llvm/include/llvm/Analysis/DOTGraphTraitsPass.h:46
Parameters
- llvm::StringRef GraphName
¶virtual bool processFunction(
llvm::Function& F,
const typename AnalysisT::Result& Result)
virtual bool processFunction(
llvm::Function& F,
const typename AnalysisT::Result& Result)
Description
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.
Declared at: llvm/include/llvm/Analysis/DOTGraphTraitsPass.h:54
Parameters
- llvm::Function& F
- const typename AnalysisT::Result& Result
- The current analysis result for this function.
¶llvm::PreservedAnalyses run(
llvm::Function& F,
llvm::FunctionAnalysisManager& FAM)
llvm::PreservedAnalyses run(
llvm::Function& F,
llvm::FunctionAnalysisManager& FAM)
Declared at: llvm/include/llvm/Analysis/DOTGraphTraitsPass.h:59
Parameters
¶~DOTGraphTraitsViewer<AnalysisT,
IsSimple,
GraphT,
AnalysisGraphTraitsT>()
~DOTGraphTraitsViewer<AnalysisT,
IsSimple,
GraphT,
AnalysisGraphTraitsT>()
Description
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.
Declared at: llvm/include/llvm/Analysis/DOTGraphTraitsPass.h:80