Jlm
Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
jlm::llvm::IpGraphToLlvmConverter::Context Class Referencefinal
Collaboration diagram for jlm::llvm::IpGraphToLlvmConverter::Context:
Collaboration graph
[legend]

Public Member Functions

 Context (InterProceduralGraphModule &ipGraphModule, ::llvm::Module &llvmModule)
 
 Context (const Context &)=delete
 
 Context (Context &&)=delete
 
Contextoperator= (const Context &)=delete
 
Contextoperator= (Context &&)=delete
 
InterProceduralGraphModulemodule () const noexcept
 
::llvm::Module & llvm_module () const noexcept
 
const_iterator begin () const
 
const_iterator end () const
 
void insert (const llvm::ControlFlowGraphNode *node, ::llvm::BasicBlock *bb)
 
void insert (const llvm::Variable *variable, ::llvm::Value *value)
 
::llvm::BasicBlockbasic_block (const llvm::ControlFlowGraphNode *node) const noexcept
 
::llvm::Value * value (const llvm::Variable *variable) const noexcept
 
TypeConverterGetTypeConverter ()
 

Static Public Member Functions

static std::unique_ptr< ContextCreate (InterProceduralGraphModule &ipGraphModule, ::llvm::Module &llvmModule)
 

Private Types

using const_iterator = std::unordered_map< const ControlFlowGraphNode *, ::llvm::BasicBlock * >::const_iterator
 

Private Attributes

::llvm::Module & LlvmModule_
 
InterProceduralGraphModuleIpGraphModule_
 
std::unordered_map< const llvm::Variable *, ::llvm::Value * > variables_
 
std::unordered_map< const llvm::ControlFlowGraphNode *, ::llvm::BasicBlock * > nodes_
 
TypeConverter TypeConverter_
 

Detailed Description

Definition at line 33 of file IpGraphToLlvmConverter.cpp.

Member Typedef Documentation

◆ const_iterator

Definition at line 35 of file IpGraphToLlvmConverter.cpp.

Constructor & Destructor Documentation

◆ Context() [1/3]

jlm::llvm::IpGraphToLlvmConverter::Context::Context ( InterProceduralGraphModule ipGraphModule,
::llvm::Module &  llvmModule 
)
inline

Definition at line 39 of file IpGraphToLlvmConverter.cpp.

◆ Context() [2/3]

jlm::llvm::IpGraphToLlvmConverter::Context::Context ( const Context )
delete

◆ Context() [3/3]

jlm::llvm::IpGraphToLlvmConverter::Context::Context ( Context &&  )
delete

Member Function Documentation

◆ basic_block()

::llvm::BasicBlock* jlm::llvm::IpGraphToLlvmConverter::Context::basic_block ( const llvm::ControlFlowGraphNode node) const
inlinenoexcept

Definition at line 93 of file IpGraphToLlvmConverter.cpp.

◆ begin()

const_iterator jlm::llvm::IpGraphToLlvmConverter::Context::begin ( ) const
inline

Definition at line 69 of file IpGraphToLlvmConverter.cpp.

◆ Create()

static std::unique_ptr<Context> jlm::llvm::IpGraphToLlvmConverter::Context::Create ( InterProceduralGraphModule ipGraphModule,
::llvm::Module &  llvmModule 
)
inlinestatic

Definition at line 115 of file IpGraphToLlvmConverter.cpp.

◆ end()

const_iterator jlm::llvm::IpGraphToLlvmConverter::Context::end ( ) const
inline

Definition at line 75 of file IpGraphToLlvmConverter.cpp.

◆ GetTypeConverter()

TypeConverter& jlm::llvm::IpGraphToLlvmConverter::Context::GetTypeConverter ( )
inline

Definition at line 109 of file IpGraphToLlvmConverter.cpp.

◆ insert() [1/2]

void jlm::llvm::IpGraphToLlvmConverter::Context::insert ( const llvm::ControlFlowGraphNode node,
::llvm::BasicBlock bb 
)
inline

Definition at line 81 of file IpGraphToLlvmConverter.cpp.

◆ insert() [2/2]

void jlm::llvm::IpGraphToLlvmConverter::Context::insert ( const llvm::Variable variable,
::llvm::Value *  value 
)
inline

Definition at line 87 of file IpGraphToLlvmConverter.cpp.

◆ llvm_module()

::llvm::Module& jlm::llvm::IpGraphToLlvmConverter::Context::llvm_module ( ) const
inlinenoexcept

Definition at line 63 of file IpGraphToLlvmConverter.cpp.

◆ module()

InterProceduralGraphModule& jlm::llvm::IpGraphToLlvmConverter::Context::module ( ) const
inlinenoexcept

Definition at line 57 of file IpGraphToLlvmConverter.cpp.

◆ operator=() [1/2]

Context& jlm::llvm::IpGraphToLlvmConverter::Context::operator= ( const Context )
delete

◆ operator=() [2/2]

Context& jlm::llvm::IpGraphToLlvmConverter::Context::operator= ( Context &&  )
delete

◆ value()

::llvm::Value* jlm::llvm::IpGraphToLlvmConverter::Context::value ( const llvm::Variable variable) const
inlinenoexcept

Definition at line 101 of file IpGraphToLlvmConverter.cpp.

Member Data Documentation

◆ IpGraphModule_

InterProceduralGraphModule& jlm::llvm::IpGraphToLlvmConverter::Context::IpGraphModule_
private

Definition at line 122 of file IpGraphToLlvmConverter.cpp.

◆ LlvmModule_

::llvm::Module& jlm::llvm::IpGraphToLlvmConverter::Context::LlvmModule_
private

Definition at line 121 of file IpGraphToLlvmConverter.cpp.

◆ nodes_

std::unordered_map<const llvm::ControlFlowGraphNode *, ::llvm::BasicBlock *> jlm::llvm::IpGraphToLlvmConverter::Context::nodes_
private

Definition at line 124 of file IpGraphToLlvmConverter.cpp.

◆ TypeConverter_

TypeConverter jlm::llvm::IpGraphToLlvmConverter::Context::TypeConverter_
private

Definition at line 125 of file IpGraphToLlvmConverter.cpp.

◆ variables_

std::unordered_map<const llvm::Variable *, ::llvm::Value *> jlm::llvm::IpGraphToLlvmConverter::Context::variables_
private

Definition at line 123 of file IpGraphToLlvmConverter.cpp.


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