clang 20.0.0git
Classes | Namespaces | Typedefs | Functions
TypeErasedDataflowAnalysis.h File Reference
#include <optional>
#include <utility>
#include <vector>
#include "clang/AST/ASTContext.h"
#include "clang/AST/Stmt.h"
#include "clang/Analysis/CFG.h"
#include "clang/Analysis/FlowSensitive/AdornedCFG.h"
#include "clang/Analysis/FlowSensitive/DataflowAnalysisContext.h"
#include "clang/Analysis/FlowSensitive/DataflowEnvironment.h"
#include "clang/Analysis/FlowSensitive/DataflowLattice.h"
#include "llvm/ADT/Any.h"
#include "llvm/Support/Error.h"

Go to the source code of this file.

Classes

struct  clang::dataflow::DataflowAnalysisOptions
 
struct  clang::dataflow::TypeErasedLattice
 Type-erased lattice element container. More...
 
class  clang::dataflow::TypeErasedDataflowAnalysis
 Type-erased base class for dataflow analyses built on a single lattice type. More...
 
struct  clang::dataflow::TypeErasedDataflowAnalysisState
 Type-erased model of the program at a given program point. More...
 
struct  clang::dataflow::CFGEltCallbacksTypeErased
 A pair of callbacks to be called with the state before and after visiting a CFG element. More...
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::dataflow
 Dataflow Directional Tag Classes.
 

Typedefs

using clang::dataflow::CFGEltCallbackTypeErased = std::function< void(const CFGElement &, const TypeErasedDataflowAnalysisState &)>
 A callback to be called with the state before or after visiting a CFG element.
 

Functions

llvm::Expected< std::vector< std::optional< TypeErasedDataflowAnalysisState > > > clang::dataflow::runTypeErasedDataflowAnalysis (const AdornedCFG &ACFG, TypeErasedDataflowAnalysis &Analysis, const Environment &InitEnv, const CFGEltCallbacksTypeErased &PostAnalysisCallbacks, std::int32_t MaxBlockVisits)
 Performs dataflow analysis and returns a mapping from basic block IDs to dataflow analysis states that model the respective basic blocks.