Skip to content

Commit

Permalink
More dependence graph tests
Browse files Browse the repository at this point in the history
  • Loading branch information
danpoe committed Mar 1, 2018
1 parent 71324e7 commit ceb9cdb
Show file tree
Hide file tree
Showing 12 changed files with 162 additions and 0 deletions.
15 changes: 15 additions & 0 deletions regression/goto-analyzer/dependence-graph10/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
int a;

void main(void)
{
int i = 0;

if(i < 10)
{
a = 1;
}
else
{
a = 2;
}
}
12 changes: 12 additions & 0 deletions regression/goto-analyzer/dependence-graph10/test.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
CORE
main.c
--dependence-graph --show
activate-multi-line-match
EXIT=0
SIGNAL=0
// First assignment has a control dependency on the if
\/\/ ([0-9]+).*\n.*IF.*i < 10.*THEN(.*\n)*Control dependencies: \1\n(.*\n){2,3}.*a = 1
// Second assignment has a control dependency on the if
\/\/ ([0-9]+).*\n.*IF.*i < 10.*THEN(.*\n)*Control dependencies: \1\n(.*\n){2,3}.*a = 2
--
^warning: ignoring
15 changes: 15 additions & 0 deletions regression/goto-analyzer/dependence-graph11/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
int a;

void func()
{
}

void main(void)
{
func();

if(a < 10)
{
a = 1;
}
}
10 changes: 10 additions & 0 deletions regression/goto-analyzer/dependence-graph11/test.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
CORE
main.c
--dependence-graph --show
activate-multi-line-match
EXIT=0
SIGNAL=0
// Assignment has a control dependency on the if
\/\/ ([0-9]+).*\n.*IF.*a < 10.*THEN(.*\n)*Control dependencies: \1\n(.*\n){2,3}.*a = 1
--
^warning: ignoring
21 changes: 21 additions & 0 deletions regression/goto-analyzer/dependence-graph12/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
int a;

void func()
{
}

void main(void)
{
if(a < 7)
{
goto L;
}

if(a < 10)
{
func();
L:
a = 1;
a = 2;
}
}
10 changes: 10 additions & 0 deletions regression/goto-analyzer/dependence-graph12/test.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
CORE
main.c
--dependence-graph --show
activate-multi-line-match
EXIT=0
SIGNAL=0
// Assignment has a control dependency on the if
\/\/ ([0-9]+).*\n.*IF.*a < 10.*THEN(.*\n)*Control dependencies: .*\1.*\n(.*\n){2,3}.*a = 2
--
^warning: ignoring
10 changes: 10 additions & 0 deletions regression/goto-analyzer/dependence-graph7/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
int a;

void main(void)
{
int i = 0;
while(i < 10)
{
a = 1;
}
}
14 changes: 14 additions & 0 deletions regression/goto-analyzer/dependence-graph7/test.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
CORE
main.c
--dependence-graph --show
activate-multi-line-match
EXIT=0
SIGNAL=0
// Assignment has a control dependency on the loop head
\/\/ ([0-9]+).*\n.*IF.*i < 10.*THEN(.*\n)*Control dependencies: \1\n(.*\n){2,3}.*a = 1
// Backedge has a control dependency on the loop head
\/\/ ([0-9]+).*\n.*IF.*i < 10.*THEN(.*\n)*Control dependencies: \1\n(.*\n){2,3}\s*GOTO [0-9]+
// Loop head has a control dependency on itself
Control dependencies: ([0-9]+)\n(.*\n)?\n.*\/\/ \1.*\n.*IF.*i < 10.*THEN
--
^warning: ignoring
13 changes: 13 additions & 0 deletions regression/goto-analyzer/dependence-graph8/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
int a;

void main(void)
{
int i = 0;
while(i < 10)
{
if(i < 7)
{
a = 1;
}
}
}
14 changes: 14 additions & 0 deletions regression/goto-analyzer/dependence-graph8/test.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
CORE
main.c
--dependence-graph --show
activate-multi-line-match
EXIT=0
SIGNAL=0
// Assignment has a control dependency on the if
\/\/ ([0-9]+).*\n.*IF.*i < 7.*THEN(.*\n)*Control dependencies: \1\n(.*\n){2,3}.*a = 1
// If has a control dependency on the loop head
\/\/ ([0-9]+).*\n.*IF.*i < 10.*THEN(.*\n)*Control dependencies: \1\n(.*\n){2,3}.*i < 7
--
^warning: ignoring
// Assignment does not have a control dependency on the loop head
\/\/ ([0-9]+).*\n.*IF.*i < 10.*THEN(.*\n)*Control dependencies: \1\n(.*\n){2,3}.*a = 1
16 changes: 16 additions & 0 deletions regression/goto-analyzer/dependence-graph9/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
int a;

void main(void)
{
int i = 0;

if(i < 10)
{
if(i < 7)
{
a = 1;
}

a = 2;
}
}
12 changes: 12 additions & 0 deletions regression/goto-analyzer/dependence-graph9/test.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
CORE
main.c
--dependence-graph --show
activate-multi-line-match
EXIT=0
SIGNAL=0
// Second assignment has a control dependency on the outer if
\/\/ ([0-9]+).*\n.*IF.*i < 10.*THEN(.*\n)*Control dependencies: \1\n(.*\n){2,3}.*a = 2
--
^warning: ignoring
// Second assignment does not have a control dependency on the inner if
\/\/ ([0-9]+).*\n.*IF.*i < 7.*THEN(.*\n)*Control dependencies: \1\n(.*\n){2,3}.*a = 2

0 comments on commit ceb9cdb

Please sign in to comment.