mc2lib
Namespaces | Classes | Typedefs | Functions
mc2lib::codegen Namespace Reference

Code generation for memory consistency verification. More...

Namespaces

 armv7
 Implementations of Operations for ARMv7 (incomplete).
 
 strong
 Implementations of Operations for strong memory consistency models.
 

Classes

class  Compiler
 Top level class used to manage code generation (compiler). More...
 
class  EvtStateCats
 Interface to memconsistency::cats data structures. More...
 
class  MemOp
 
class  NullOp
 
class  Op
 
class  RandInstTest
 

Typedefs

template<std::size_t max_size_bytes>
using EventPtrs = std::array< const mc::Event *, max_size_bytes/sizeof(types::WriteID)>
 

Functions

template<class T1 , class T2 >
constexpr bool lt__ (T1 a, T2 b)
 
template<class... Ts>
auto MakeEventPtrs (const mc::Event *e1, Ts... en) -> EventPtrs<(1+sizeof...(Ts)) *sizeof(types::WriteID)>
 

Detailed Description

Code generation for memory consistency verification.

Typedef Documentation

§ EventPtrs

template<std::size_t max_size_bytes>
using mc2lib::codegen::EventPtrs = typedef std::array<const mc::Event *, max_size_bytes / sizeof(types::WriteID)>

Function Documentation

§ lt__()

template<class T1 , class T2 >
constexpr bool mc2lib::codegen::lt__ ( T1  a,
T2  b 
)

§ MakeEventPtrs()

template<class... Ts>
auto mc2lib::codegen::MakeEventPtrs ( const mc::Event e1,
Ts...  en 
) -> EventPtrs<(1 + sizeof...(Ts)) * sizeof(types::WriteID)>
inline