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

#include <docc/lifting/functions/function_lifting.h>

Inheritance diagram for docc::lifting::FunctionLifting:
[legend]

Public Member Functions

 FunctionLifting (llvm::TargetLibraryInfo &TLI, const llvm::DataLayout &DL, const llvm::Function &function, sdfg::FunctionType target_type, sdfg::builder::SDFGBuilder &builder, std::map< const llvm::BasicBlock *, std::set< const sdfg::control_flow::State * > > &state_mapping, std::map< const sdfg::control_flow::State *, std::set< const llvm::BasicBlock * > > &pred_mapping, std::unordered_map< const llvm::Value *, std::string > &constants_mapping, std::unordered_map< const llvm::Type *, std::string > &anonymous_types_mapping)
virtual ~FunctionLifting ()=default
virtual sdfg::control_flow::State & visit (const llvm::BasicBlock *block, const llvm::CallBase *instruction, sdfg::control_flow::State &current_state)

Static Public Member Functions

static bool is_supported (llvm::TargetLibraryInfo &TLI, const llvm::CallBase *instruction)

Protected Member Functions

sdfg::control_flow::State & visit_call (const llvm::BasicBlock *block, const llvm::CallInst *instruction, sdfg::control_flow::State &current_state)
sdfg::control_flow::State & visit_invoke (const llvm::BasicBlock *block, const llvm::InvokeInst *instruction, sdfg::control_flow::State &current_state)

Protected Attributes

llvm::TargetLibraryInfo & TLI_
const llvm::DataLayout & DL_
const llvm::Function & function_
sdfg::FunctionType target_type_
sdfg::builder::SDFGBuilder & builder_
std::map< const llvm::BasicBlock *, std::set< const sdfg::control_flow::State * > > & state_mapping_
std::map< const sdfg::control_flow::State *, std::set< const llvm::BasicBlock * > > & pred_mapping_
std::unordered_map< const llvm::Value *, std::string > & constants_mapping_
std::unordered_map< const llvm::Type *, std::string > & anonymous_types_mapping_

Constructor & Destructor Documentation

◆ FunctionLifting()

docc::lifting::FunctionLifting::FunctionLifting ( llvm::TargetLibraryInfo & TLI,
const llvm::DataLayout & DL,
const llvm::Function & function,
sdfg::FunctionType target_type,
sdfg::builder::SDFGBuilder & builder,
std::map< const llvm::BasicBlock *, std::set< const sdfg::control_flow::State * > > & state_mapping,
std::map< const sdfg::control_flow::State *, std::set< const llvm::BasicBlock * > > & pred_mapping,
std::unordered_map< const llvm::Value *, std::string > & constants_mapping,
std::unordered_map< const llvm::Type *, std::string > & anonymous_types_mapping )
inline

◆ ~FunctionLifting()

virtual docc::lifting::FunctionLifting::~FunctionLifting ( )
virtualdefault

Member Function Documentation

◆ is_supported()

bool docc::lifting::FunctionLifting::is_supported ( llvm::TargetLibraryInfo & TLI,
const llvm::CallBase * instruction )
static

◆ visit()

virtual sdfg::control_flow::State & docc::lifting::FunctionLifting::visit ( const llvm::BasicBlock * block,
const llvm::CallBase * instruction,
sdfg::control_flow::State & current_state )
virtual

◆ visit_call()

sdfg::control_flow::State & docc::lifting::FunctionLifting::visit_call ( const llvm::BasicBlock * block,
const llvm::CallInst * instruction,
sdfg::control_flow::State & current_state )
protected

◆ visit_invoke()

sdfg::control_flow::State & docc::lifting::FunctionLifting::visit_invoke ( const llvm::BasicBlock * block,
const llvm::InvokeInst * instruction,
sdfg::control_flow::State & current_state )
protected

Member Data Documentation

◆ anonymous_types_mapping_

std::unordered_map<const llvm::Type*, std::string>& docc::lifting::FunctionLifting::anonymous_types_mapping_
protected

◆ builder_

sdfg::builder::SDFGBuilder& docc::lifting::FunctionLifting::builder_
protected

◆ constants_mapping_

std::unordered_map<const llvm::Value*, std::string>& docc::lifting::FunctionLifting::constants_mapping_
protected

◆ DL_

const llvm::DataLayout& docc::lifting::FunctionLifting::DL_
protected

◆ function_

const llvm::Function& docc::lifting::FunctionLifting::function_
protected

◆ pred_mapping_

std::map<const sdfg::control_flow::State*, std::set<const llvm::BasicBlock*> >& docc::lifting::FunctionLifting::pred_mapping_
protected

◆ state_mapping_

std::map<const llvm::BasicBlock*, std::set<const sdfg::control_flow::State*> >& docc::lifting::FunctionLifting::state_mapping_
protected

◆ target_type_

sdfg::FunctionType docc::lifting::FunctionLifting::target_type_
protected

◆ TLI_

llvm::TargetLibraryInfo& docc::lifting::FunctionLifting::TLI_
protected

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