docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
docc::analysis::SDFGRegistry Class Reference

#include <docc/analysis/sdfg_registry.h>

Inheritance diagram for docc::analysis::SDFGRegistry:
[legend]

Public Member Functions

 SDFGRegistry ()=default
 SDFGRegistry (const SDFGRegistry &)=delete
SDFGRegistry & operator= (const SDFGRegistry &)=delete
bool has_module (const llvm::Module &Module) const
std::vector< std::string > get_known_modules ()
std::unique_ptr< llvm::Module > get_module (const std::string &module_name, llvm::LLVMContext &ctx)
 Read the module from its file.
std::unordered_map< std::string, std::unique_ptr< SDFGHolder > > & at (const std::string &ModuleName)
std::unordered_map< std::string, std::unique_ptr< SDFGHolder > > & at (const llvm::StringRef &ModuleName)
bool has_function (const std::string &name) const
bool has_external_function (const std::string &name) const
std::unordered_map< std::string, std::unique_ptr< SDFGHolder > > & at (const llvm::Module &Module)
const Attributes & attributes (const std::string &name) const
const Attributes & external_attributes (const std::string &name) const
void insert (const llvm::Module &Module, std::list< std::unique_ptr< sdfg::StructuredSDFG > > sdfgs)
void dump_sdfgs (const llvm::Module &Module)
void run (AnalysisManager &WPAM)
void for_each_sdfg_modifiable (const llvm::Module &Module, const std::function< void(SDFGHolder &, sdfg::StructuredSDFG &)> &action)
void for_each_sdfg_modifiable (const llvm::Module &Module, const std::function< void(sdfg::StructuredSDFG &)> &action)
void for_each_sdfg_const (const llvm::Module &Module, const std::function< void(SDFGHolder &, const sdfg::StructuredSDFG &)> &action)
void for_each_sdfg_const (const llvm::Module &Module, const std::function< void(const sdfg::StructuredSDFG &)> &action)
Public Member Functions inherited from docc::analysis::Analysis
virtual ~Analysis ()=default

Static Public Member Functions

static bool is_link_time (AnalysisManager &WPAM)
static std::filesystem::path docc_extract_dir (const llvm::Module &Module)
static void for_each_sdfg_modifiable (std::unordered_map< std::string, std::unique_ptr< SDFGHolder > > &map, const std::function< void(SDFGHolder &, sdfg::StructuredSDFG &)> &action)
static void for_each_sdfg_const (std::unordered_map< std::string, std::unique_ptr< SDFGHolder > > &map, const std::function< void(SDFGHolder &, const sdfg::StructuredSDFG &)> &action)

Friends

class GlobalCFGAnalysis

Constructor & Destructor Documentation

◆ SDFGRegistry() [1/2]

docc::analysis::SDFGRegistry::SDFGRegistry ( )
default

◆ SDFGRegistry() [2/2]

docc::analysis::SDFGRegistry::SDFGRegistry ( const SDFGRegistry & )
delete

Member Function Documentation

◆ at() [1/3]

std::unordered_map< std::string, std::unique_ptr< SDFGHolder > > & docc::analysis::SDFGRegistry::at ( const llvm::Module & Module)
inline

◆ at() [2/3]

std::unordered_map< std::string, std::unique_ptr< SDFGHolder > > & docc::analysis::SDFGRegistry::at ( const llvm::StringRef & ModuleName)
inline

◆ at() [3/3]

std::unordered_map< std::string, std::unique_ptr< SDFGHolder > > & docc::analysis::SDFGRegistry::at ( const std::string & ModuleName)
inline

◆ attributes()

const Attributes & docc::analysis::SDFGRegistry::attributes ( const std::string & name) const
inline

◆ docc_extract_dir()

std::filesystem::path docc::analysis::SDFGRegistry::docc_extract_dir ( const llvm::Module & Module)
static

◆ dump_sdfgs()

void docc::analysis::SDFGRegistry::dump_sdfgs ( const llvm::Module & Module)

◆ external_attributes()

const Attributes & docc::analysis::SDFGRegistry::external_attributes ( const std::string & name) const
inline

◆ for_each_sdfg_const() [1/3]

void docc::analysis::SDFGRegistry::for_each_sdfg_const ( const llvm::Module & Module,
const std::function< void(const sdfg::StructuredSDFG &)> & action )
inline

◆ for_each_sdfg_const() [2/3]

void docc::analysis::SDFGRegistry::for_each_sdfg_const ( const llvm::Module & Module,
const std::function< void(SDFGHolder &, const sdfg::StructuredSDFG &)> & action )
inline

◆ for_each_sdfg_const() [3/3]

void docc::analysis::SDFGRegistry::for_each_sdfg_const ( std::unordered_map< std::string, std::unique_ptr< SDFGHolder > > & map,
const std::function< void(SDFGHolder &, const sdfg::StructuredSDFG &)> & action )
static

◆ for_each_sdfg_modifiable() [1/3]

void docc::analysis::SDFGRegistry::for_each_sdfg_modifiable ( const llvm::Module & Module,
const std::function< void(sdfg::StructuredSDFG &)> & action )
inline

◆ for_each_sdfg_modifiable() [2/3]

void docc::analysis::SDFGRegistry::for_each_sdfg_modifiable ( const llvm::Module & Module,
const std::function< void(SDFGHolder &, sdfg::StructuredSDFG &)> & action )
inline

◆ for_each_sdfg_modifiable() [3/3]

void docc::analysis::SDFGRegistry::for_each_sdfg_modifiable ( std::unordered_map< std::string, std::unique_ptr< SDFGHolder > > & map,
const std::function< void(SDFGHolder &, sdfg::StructuredSDFG &)> & action )
static

◆ get_known_modules()

std::vector< std::string > docc::analysis::SDFGRegistry::get_known_modules ( )
inline

◆ get_module()

std::unique_ptr< llvm::Module > docc::analysis::SDFGRegistry::get_module ( const std::string & module_name,
llvm::LLVMContext & ctx )

Read the module from its file.

◆ has_external_function()

bool docc::analysis::SDFGRegistry::has_external_function ( const std::string & name) const
inline

◆ has_function()

bool docc::analysis::SDFGRegistry::has_function ( const std::string & name) const
inline

◆ has_module()

bool docc::analysis::SDFGRegistry::has_module ( const llvm::Module & Module) const
inline

◆ insert()

void docc::analysis::SDFGRegistry::insert ( const llvm::Module & Module,
std::list< std::unique_ptr< sdfg::StructuredSDFG > > sdfgs )

◆ is_link_time()

bool docc::analysis::SDFGRegistry::is_link_time ( AnalysisManager & WPAM)
static

◆ operator=()

SDFGRegistry & docc::analysis::SDFGRegistry::operator= ( const SDFGRegistry & )
delete

◆ run()

void docc::analysis::SDFGRegistry::run ( AnalysisManager & WPAM)
virtual

◆ GlobalCFGAnalysis

friend class GlobalCFGAnalysis
friend

The documentation for this class was generated from the following file: