Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
dominators_test.cc File Reference

Tests for Lengauer-Tarjan dominator tree algorithm. More...

#include <gtest/gtest.h>
#include <chrono>
#include <cstdlib>
#include <string>
#include <random>
#include <Dominators.H>
#include <tpl_dynArray.H>
#include <tpl_dynMapTree.H>
#include <tpl_graph.H>
Include dependency graph for dominators_test.cc:

Go to the source code of this file.

Functions

 TEST (Dominators, SingleNode)
 
 TEST (Dominators, LinearChain)
 
 TEST (Dominators, DiamondGraph)
 
 TEST (Dominators, IfThenElseCFG)
 
 TEST (Dominators, LoopCFG)
 
 TEST (Dominators, ComplexTextbookCFG)
 
 TEST (Dominators, UnreachableNodes)
 
 TEST (Dominators, SelfLoop)
 
 TEST (Dominators, EmptyGraph)
 
 TEST (Dominators, ErrorHandlingNullRoot)
 
 TEST (Dominators, DominatorTreeStructure)
 
 TEST (Dominators, DominatorTreeLinearChain)
 
 TEST (Dominators, DominanceReflexive)
 
 TEST (Dominators, RootDominatesAll)
 
 TEST (Dominators, NonDominance)
 
 TEST (Dominators, DominanceFrontiersIfThenElse)
 
 TEST (Dominators, DominanceFrontiersLoop)
 
 TEST (Dominators, GetIdomSpecificNode)
 
 TEST (Dominators, GetIdomNullNodeThrows)
 
 TEST (Dominators, LargeRandomDAG)
 
 TEST (Dominators, PerformanceLargeRandomDAG)
 
 TEST (Dominators, OperatorAlias)
 
 TEST (Dominators, CacheReuse)
 
 TEST (Dominators, StringTypedGraph)
 
 TEST (PostDominators, SingleNode)
 
 TEST (PostDominators, LinearChain)
 
 TEST (PostDominators, DiamondGraph)
 
 TEST (PostDominators, IfThenElseCFG)
 
 TEST (PostDominators, LoopCFG)
 
 TEST (PostDominators, PostDominanceReflexive)
 
 TEST (PostDominators, ExitPostDominatesAll)
 
 TEST (PostDominators, PostDominanceFrontiers)
 
 TEST (PostDominators, PostDominatorTreeStructure)
 
 TEST (PostDominators, ErrorHandlingNullExit)
 

Detailed Description

Tests for Lengauer-Tarjan dominator tree algorithm.

Definition in file dominators_test.cc.

Function Documentation

◆ TEST() [1/34]

TEST ( Dominators  ,
CacheReuse   
)

Definition at line 645 of file dominators_test.cc.

References Aleph::divide_and_conquer_partition_dp(), nodes, and root().

◆ TEST() [2/34]

TEST ( Dominators  ,
ComplexTextbookCFG   
)

◆ TEST() [3/34]

TEST ( Dominators  ,
DiamondGraph   
)

◆ TEST() [4/34]

TEST ( Dominators  ,
DominanceFrontiersIfThenElse   
)

◆ TEST() [5/34]

TEST ( Dominators  ,
DominanceFrontiersLoop   
)

◆ TEST() [6/34]

TEST ( Dominators  ,
DominanceReflexive   
)

Definition at line 366 of file dominators_test.cc.

References Aleph::divide_and_conquer_partition_dp(), and nodes.

◆ TEST() [7/34]

TEST ( Dominators  ,
DominatorTreeLinearChain   
)

◆ TEST() [8/34]

TEST ( Dominators  ,
DominatorTreeStructure   
)

◆ TEST() [9/34]

TEST ( Dominators  ,
EmptyGraph   
)

Definition at line 287 of file dominators_test.cc.

References Aleph::divide_and_conquer_partition_dp().

◆ TEST() [10/34]

TEST ( Dominators  ,
ErrorHandlingNullRoot   
)

◆ TEST() [11/34]

TEST ( Dominators  ,
GetIdomNullNodeThrows   
)

Definition at line 508 of file dominators_test.cc.

References Aleph::divide_and_conquer_partition_dp(), and nodes.

◆ TEST() [12/34]

TEST ( Dominators  ,
GetIdomSpecificNode   
)

Definition at line 487 of file dominators_test.cc.

References Aleph::divide_and_conquer_partition_dp(), and nodes.

◆ TEST() [13/34]

TEST ( Dominators  ,
IfThenElseCFG   
)

◆ TEST() [14/34]

◆ TEST() [15/34]

TEST ( Dominators  ,
LinearChain   
)

◆ TEST() [16/34]

TEST ( Dominators  ,
LoopCFG   
)

◆ TEST() [17/34]

TEST ( Dominators  ,
NonDominance   
)

Definition at line 395 of file dominators_test.cc.

References Aleph::divide_and_conquer_partition_dp(), and nodes.

◆ TEST() [18/34]

TEST ( Dominators  ,
OperatorAlias   
)

◆ TEST() [19/34]

TEST ( Dominators  ,
PerformanceLargeRandomDAG   
)

◆ TEST() [20/34]

TEST ( Dominators  ,
RootDominatesAll   
)

Definition at line 380 of file dominators_test.cc.

References Aleph::divide_and_conquer_partition_dp(), and nodes.

◆ TEST() [21/34]

TEST ( Dominators  ,
SelfLoop   
)

◆ TEST() [22/34]

TEST ( Dominators  ,
SingleNode   
)

◆ TEST() [23/34]

TEST ( Dominators  ,
StringTypedGraph   
)

◆ TEST() [24/34]

◆ TEST() [25/34]

TEST ( PostDominators  ,
DiamondGraph   
)

◆ TEST() [26/34]

TEST ( PostDominators  ,
ErrorHandlingNullExit   
)

◆ TEST() [27/34]

TEST ( PostDominators  ,
ExitPostDominatesAll   
)

Definition at line 846 of file dominators_test.cc.

References Aleph::divide_and_conquer_partition_dp(), and nodes.

◆ TEST() [28/34]

TEST ( PostDominators  ,
IfThenElseCFG   
)

◆ TEST() [29/34]

TEST ( PostDominators  ,
LinearChain   
)

◆ TEST() [30/34]

TEST ( PostDominators  ,
LoopCFG   
)

◆ TEST() [31/34]

TEST ( PostDominators  ,
PostDominanceFrontiers   
)

◆ TEST() [32/34]

TEST ( PostDominators  ,
PostDominanceReflexive   
)

Definition at line 831 of file dominators_test.cc.

References Aleph::divide_and_conquer_partition_dp(), and nodes.

◆ TEST() [33/34]

TEST ( PostDominators  ,
PostDominatorTreeStructure   
)

◆ TEST() [34/34]

TEST ( PostDominators  ,
SingleNode   
)