Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
proteus::VarStorage Class Referenceabstract

#include <VarStorage.hpp>

Inheritance diagram for proteus::VarStorage:
Inheritance graph
[legend]

Public Member Functions

 VarStorage (IRBuilderBase &IRB)
 
virtual ~VarStorage ()=default
 
virtual Value * getSlot () const =0
 
virtual Value * loadValue () const =0
 
virtual void storeValue (Value *Val)=0
 
virtual Type * getAllocatedType () const =0
 
virtual Type * getValueType () const =0
 
virtual std::unique_ptr< VarStorageclone () const =0
 

Protected Attributes

IRBuilderBaseIRB
 

Constructor & Destructor Documentation

◆ VarStorage()

proteus::VarStorage::VarStorage ( IRBuilderBase IRB)
inline

◆ ~VarStorage()

virtual proteus::VarStorage::~VarStorage ( )
virtualdefault

Member Function Documentation

◆ clone()

virtual std::unique_ptr< VarStorage > proteus::VarStorage::clone ( ) const
pure virtual

◆ getAllocatedType()

virtual Type * proteus::VarStorage::getAllocatedType ( ) const
pure virtual

◆ getSlot()

virtual Value * proteus::VarStorage::getSlot ( ) const
pure virtual

◆ getValueType()

virtual Type * proteus::VarStorage::getValueType ( ) const
pure virtual

◆ loadValue()

virtual Value * proteus::VarStorage::loadValue ( ) const
pure virtual

◆ storeValue()

virtual void proteus::VarStorage::storeValue ( Value *  Val)
pure virtual

Member Data Documentation

◆ IRB

IRBuilderBase& proteus::VarStorage::IRB
protected

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