roadrunner  2.6.0
Fast simulator for SBML models
Public Member Functions | List of all members
rrllvm::LoadSymbolResolver Class Referenceabstract

LLVM load instruction class. More...

#include <CodeGen.h>

Inheritance diagram for rrllvm::LoadSymbolResolver:
rrllvm::FunctionResolver rrllvm::KineticLawParameterResolver rrllvm::LoadSymbolResolverBase rrllvm::SBMLInitialValueSymbolResolver

Public Member Functions

virtual llvm::Value * loadSymbolValue (const std::string &symbol, const llvm::ArrayRef< llvm::Value * > &args=llvm::ArrayRef< llvm::Value * >())=0
 generate an LLVM load instruction. More...
 
virtual void recursiveSymbolPush (const std::string &symbol)=0
 
virtual void recursiveSymbolPop ()=0
 
virtual bool isLocalParameter (const std::string &symbol)=0
 
virtual size_t pushCacheBlock ()
 nested conditionals (or functions?) can push a local cache block, where symbols would be chached. More...
 
virtual size_t popCacheBlock ()
 Pop a scoped cache block, this clears these values, and any subsequent reads re-evaluate the requested symbol. More...
 

Detailed Description

LLVM load instruction class.

Member Function Documentation

◆ loadSymbolValue()

virtual llvm::Value* rrllvm::LoadSymbolResolver::loadSymbolValue ( const std::string &  symbol,
const llvm::ArrayRef< llvm::Value * > &  args = llvm::ArrayRef< llvm::Value * >() 
)
pure virtual

generate an LLVM load instruction.

Parameters
symbolthe symbol name to resolve
argsfunction argument list

Implemented in rrllvm::SBMLInitialValueSymbolResolver, rrllvm::KineticLawParameterResolver, and rrllvm::FunctionResolver.

◆ popCacheBlock()

virtual size_t rrllvm::LoadSymbolResolver::popCacheBlock ( )
inlinevirtual

Pop a scoped cache block, this clears these values, and any subsequent reads re-evaluate the requested symbol.

Will throw an exception if an empty stack pop is attempted.

Reimplemented in rrllvm::LoadSymbolResolverBase.

◆ pushCacheBlock()

virtual size_t rrllvm::LoadSymbolResolver::pushCacheBlock ( )
inlinevirtual

nested conditionals (or functions?) can push a local cache block, where symbols would be chached.

These need to be popped as these symbols are not valid outside of the local conditional or scope block.

Reimplemented in rrllvm::LoadSymbolResolverBase.


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