NebulaStream  0.6.213
NebulaStream is a data and application management framework for the internet of things
NES::Nautilus::ValueScopingPhaseTest Class Reference

Todo. More...

Collaboration diagram for NES::Nautilus::ValueScopingPhaseTest:
[legend]

Classes

struct  CorrectBlockValues
 
struct  CountedLoopInfo
 lowerBound, upperBound, stepSize, loopEndBlockId More...
 

Public Types

using countedLoopInfoPtr = std::unique_ptr< CountedLoopInfo >
 
using CorrectBlockValuesPtr = std::unique_ptr< CorrectBlockValues >
 

Public Member Functions

void SetUp () override
 
void TearDown () override
 
std::vector< IR::BasicBlockPtr > createTraceAndApplyPhases (std::function< Value<>()> nautilusFunction)
 
countedLoopInfoPtr createCorrectCountedLoopInfo (uint32_t lowerBound, uint32_t upperBound, uint32_t stepSize, std::string loopEndBlockId)
 
void createCorrectBlock (std::unordered_map< std::string, CorrectBlockValuesPtr > &correctBlocks, std::string correctBlockId, uint32_t correctNumberOfBackLinks, std::string correctMergeBlockId, countedLoopInfoPtr countedLoopInfo=nullptr)
 
std::vector< IR::BasicBlockPtr > enumerateIRForTests (std::shared_ptr< IR::IRGraph > ir)
 Takes a graph IR, enumerates all blocks depth-first, and returns a vector containing all blocks. More...
 
bool checkIRForCorrectness (const std::vector< IR::BasicBlockPtr > &dpsSortedBlocks, const std::unordered_map< std::string, CorrectBlockValuesPtr > &correctBlocks)
 

Static Public Member Functions

static void SetUpTestCase ()
 
static void TearDownTestCase ()
 

Detailed Description

Todo.

Member Typedef Documentation

◆ CorrectBlockValuesPtr

◆ countedLoopInfoPtr

Member Function Documentation

◆ checkIRForCorrectness()

bool NES::Nautilus::ValueScopingPhaseTest::checkIRForCorrectness ( const std::vector< IR::BasicBlockPtr > &  dpsSortedBlocks,
const std::unordered_map< std::string, CorrectBlockValuesPtr > &  correctBlocks 
)
inline

References NES_ERROR.

◆ createCorrectBlock()

void NES::Nautilus::ValueScopingPhaseTest::createCorrectBlock ( std::unordered_map< std::string, CorrectBlockValuesPtr > &  correctBlocks,
std::string  correctBlockId,
uint32_t  correctNumberOfBackLinks,
std::string  correctMergeBlockId,
countedLoopInfoPtr  countedLoopInfo = nullptr 
)
inline

References backward::details::move().

Here is the call graph for this function:

◆ createCorrectCountedLoopInfo()

countedLoopInfoPtr NES::Nautilus::ValueScopingPhaseTest::createCorrectCountedLoopInfo ( uint32_t  lowerBound,
uint32_t  upperBound,
uint32_t  stepSize,
std::string  loopEndBlockId 
)
inline

◆ createTraceAndApplyPhases()

std::vector<IR::BasicBlockPtr> NES::Nautilus::ValueScopingPhaseTest::createTraceAndApplyPhases ( std::function< Value<>()>  nautilusFunction)
inline

References enumerateIRForTests(), and backward::details::move().

Here is the call graph for this function:

◆ enumerateIRForTests()

std::vector<IR::BasicBlockPtr> NES::Nautilus::ValueScopingPhaseTest::enumerateIRForTests ( std::shared_ptr< IR::IRGraph >  ir)
inline

Takes a graph IR, enumerates all blocks depth-first, and returns a vector containing all blocks.

Parameters
irGraph ir that is traversed depth-first-search (dps).
Returns
std::vector<IR::BasicBlockPtr>: A vector containing all blocks of the ir-graph sorted by dps.

Referenced by createTraceAndApplyPhases().

Here is the caller graph for this function:

◆ SetUp()

void NES::Nautilus::ValueScopingPhaseTest::SetUp ( )
inlineoverride

◆ SetUpTestCase()

static void NES::Nautilus::ValueScopingPhaseTest::SetUpTestCase ( )
inlinestatic

References NES::LOG_DEBUG, and NES::Logger::setupLogging().

Here is the call graph for this function:

◆ TearDown()

void NES::Nautilus::ValueScopingPhaseTest::TearDown ( )
inlineoverride

◆ TearDownTestCase()

static void NES::Nautilus::ValueScopingPhaseTest::TearDownTestCase ( )
inlinestatic

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