Skip to content

Commit bbd9de4

Browse files
committed
GOTO conversion: create temporaries with minimal scope
GOTO conversion introduces temporaries when cleaning expression, e.g., removing side effects. We previously considered them to have block scope as they only were marked dead when the block containing them was left. This, however, can be a much larger range of instructions than for what instructions they actually need to be live for. As a consequence, GOTO conversion frequently deemed it necessary to introduce declaration hops for we had goto instructions that would jump over the declaration of the temporary, but still within the block that contained that temporary (and well after the last actual use of that temporary). This PR now largely (with the exception of compound literals, which yield temporaries that must have block scope) removes the side effect that creating temporaries had on scope tracking. Instead, methods explicitly return the list of temporaries in need of cleanup. This avoids performance penalties seen when trying to upgrade Kani to CBMC version 6. Kani makes extensive use of statement expressions, which are one case of instructions that yield a temporary that needs to be cleaned up as soon as possible.
1 parent c7d7704 commit bbd9de4

File tree

58 files changed

+484
-226
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+484
-226
lines changed

regression/cbmc-cover/location14/test.desc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ main.c
66
^\[main.coverage.1\] file main.c line 8 function main block 1.*: SATISFIED$
77
^\[main.coverage.2\] file main.c line 12 function main block 2.*: FAILED$
88
^\[main.coverage.3\] file main.c line 12 function main block 3.*: FAILED$
9-
^\[main.coverage.4\] file main.c line 13 function main block 4.*: SATISFIED$
9+
^\[main.coverage.4\] file main.c line 12 function main block 4.*: FAILED$
10+
^\[main.coverage.5\] file main.c line 13 function main block 5.*: SATISFIED$
1011
^\[foo.coverage.1\] file main.c line 3 function foo block 1.*: FAILED$
11-
^\*\* 2 of 5 covered \(40.0%\)
12+
^\*\* 2 of 6 covered \(33.3%\)
1213
--
1314
^warning: ignoring
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
KNOWNBUG
1+
CORE
22
main.c
33
--apply-loop-contracts
44
^EXIT=0$
@@ -7,4 +7,3 @@ main.c
77
--
88
--
99
This test checks that loop contracts work correctly on do/while loops.
10-
Fails because contracts are not yet supported on do while loops.

regression/cprover/safety/use_after_free1.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ use_after_free1.c
44
^EXIT=0$
55
^SIGNAL=0$
66
^\(\d+\) ∀ ς : state . S11\(ς\) ⇒ S12\(ς\[❝main::\$tmp::return_value_malloc❞:=allocate\(ς, 4\)\]\)$
7-
^\(\d+\) ∀ ς : state . S15\(ς\) ⇒ S16\(deallocate_state\(ς, cast\(ς\(❝main::1::p❞\), empty\*\)\)\)$
7+
^\(\d+\) ∀ ς : state . S16\(ς\) ⇒ S17\(deallocate_state\(ς, cast\(ς\(❝main::1::p❞\), empty\*\)\)\)$
88
--

regression/goto-analyzer/branching-ge/test-always-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-ge/test-always-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[5, 5\] @ \[17\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[5, 5\] @ \[23\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-ge/test-always-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: 5 :value-set-end @ \[17\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: 5 :value-set-end @ \[23\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-ge/test-indeterminate-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-ge/test-indeterminate-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[FFFFFFFB, 5\] @ \[17, 19\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[FFFFFFFB, 5\] @ \[23, 25\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-ge/test-indeterminate-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: 5, -5 :value-set-end @ \[17, 19\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: 5, -5 :value-set-end @ \[23, 25\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-ge/test-never-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-ge/test-never-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[FFFFFFFB, FFFFFFFB\] @ \[19\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[FFFFFFFB, FFFFFFFB\] @ \[25\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-ge/test-never-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: -5 :value-set-end @ \[19\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: -5 :value-set-end @ \[25\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-gt/test-always-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-gt/test-always-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[5, 5\] @ \[17\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[5, 5\] @ \[23\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-gt/test-always-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: 5 :value-set-end @ \[17\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: 5 :value-set-end @ \[23\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-gt/test-indeterminate-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-gt/test-indeterminate-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[FFFFFFFB, 5\] @ \[17, 19\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[FFFFFFFB, 5\] @ \[23, 25\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-gt/test-indeterminate-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: 5, -5 :value-set-end @ \[17, 19\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: 5, -5 :value-set-end @ \[23, 25\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-gt/test-never-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-gt/test-never-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[FFFFFFFB, FFFFFFFB\] @ \[19\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[FFFFFFFB, FFFFFFFB\] @ \[25\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-gt/test-never-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: -5 :value-set-end @ \[19\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: -5 :value-set-end @ \[25\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-le/test-always-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-le/test-always-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[5, 5\] @ \[17\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[5, 5\] @ \[23\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-le/test-always-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: 5 :value-set-end @ \[17\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: 5 :value-set-end @ \[23\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-le/test-indeterminate-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-le/test-indeterminate-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[FFFFFFFB, 5\] @ \[17, 19\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[FFFFFFFB, 5\] @ \[23, 25\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-le/test-indeterminate-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: 5, -5 :value-set-end @ \[17, 19\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: 5, -5 :value-set-end @ \[23, 25\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-le/test-never-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-le/test-never-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[FFFFFFFB, FFFFFFFB\] @ \[19\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[FFFFFFFB, FFFFFFFB\] @ \[25\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-le/test-never-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: -5 :value-set-end @ \[19\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: -5 :value-set-end @ \[25\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-lt/test-always-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-lt/test-always-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[5, 5\] @ \[17\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[5, 5\] @ \[23\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-lt/test-always-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-always.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: 5 :value-set-end @ \[17\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: 5 :value-set-end @ \[23\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-lt/test-indeterminate-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-lt/test-indeterminate-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[FFFFFFFB, 5\] @ \[17, 19\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[FFFFFFFB, 5\] @ \[23, 25\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-lt/test-indeterminate-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-indeterminate.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: 5, -5 :value-set-end @ \[17, 19\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: 5, -5 :value-set-end @ \[23, 25\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-lt/test-never-constants.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* TOP @ \[17, 19\]
7-
^main::1::p .* TOP @ \[3, 8, 14\]
6+
^main::1::i .* TOP @ \[23, 25\]
7+
^main::1::p .* TOP @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-lt/test-never-intervals.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values intervals --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* \[FFFFFFFB, FFFFFFFB\] @ \[19\]
7-
^main::1::p .* \[0, A\] @ \[3, 8, 14\]
6+
^main::1::i .* \[FFFFFFFB, FFFFFFFB\] @ \[25\]
7+
^main::1::p .* \[0, A\] @ \[3, 9, 18\]
88
--

regression/goto-analyzer/branching-lt/test-never-value-set.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main-never.c
33
--no-standard-checks --variable-sensitivity --vsd-values set-of-constants --show
44
^EXIT=0$
55
^SIGNAL=0$
6-
^main::1::i .* value-set-begin: -5 :value-set-end @ \[19\]
7-
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 8, 14\]
6+
^main::1::i .* value-set-begin: -5 :value-set-end @ \[25\]
7+
^main::1::p .* value-set-begin: 0, 5, 10 :value-set-end @ \[3, 9, 18\]
88
--

regression/goto-instrument/ensure-one-backedge-per-target-not-lexical/with-transform.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ CORE
22
main.c
33
--ensure-one-backedge-per-target --show-lexical-loops
44
^3 is head of \{ 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 \(backedge\) \}$
5-
^16 is head of \{ 16, 17, 22, 23, 24, 25 \(backedge\) \}$
5+
^17 is head of \{ 17, 18, 22, 23, 24, 25 \(backedge\) \}$
66
^EXIT=0$
77
^SIGNAL=0$
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
main.c
33
--show-lexical-loops
4-
^16 is head of \{ 16, 17, 22, 23, 24, 25 \(backedge\) \}$
4+
^17 is head of \{ 17, 18, 22, 23, 24, 25 \(backedge\) \}$
55
Note not all loops were in lexical loop form
66
^EXIT=0$
77
^SIGNAL=0$

regression/goto-instrument/region-analysis-14/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ test.c
33
--show-sese-regions
44
^Function contains 2 single-entry, single-exit regions:$
55
^Region starting at \(2, [0-9]+\) .*::x := 0 ends at \(5, [0-9]+\) SKIP$
6-
^Region starting at \(0, [0-9]+\) IF .*5.* THEN GOTO 2 ends at \(9, [0-9]+\) 3: SKIP$
6+
^Region starting at \(0, [0-9]+\) IF .*5.* THEN GOTO 2 ends at \(10, [0-9]+\) 3: SKIP$
77
^EXIT=0$
88
^SIGNAL=0$

regression/goto-instrument/region-analysis-15/test.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ CORE
22
test.c
33
--show-sese-regions
44
^Function contains 2 single-entry, single-exit regions:$
5-
^Region starting at \(2, [0-9]+\) .*::x := 0 ends at \(8, [0-9]+\) 2: SKIP$
6-
^Region starting at \(0, [0-9]+\) IF .*5.* THEN GOTO 3 ends at \(12, [0-9]+\) 4: SKIP$
5+
^Region starting at \(2, [0-9]+\) .*::x := 0 ends at \(9, [0-9]+\) 2: SKIP$
6+
^Region starting at \(0, [0-9]+\) IF .*5.* THEN GOTO 3 ends at \(13, [0-9]+\) 4: SKIP$
77
^EXIT=0$
88
^SIGNAL=0$

regression/goto-instrument/region-analysis-16/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ test.c
33
--show-sese-regions
44
^Function contains 3 single-entry, single-exit regions:$
55
^Region starting at \(3, [0-9]+\) 1: IF .*7.* THEN GOTO 2 ends at \(8, [0-9]+\) 3: IF .*::x < 10 THEN GOTO 1$
6-
^Region starting at \(0, [0-9]+\) IF .*5.* THEN GOTO 4 ends at \(13, [0-9]+\) 5: SKIP$
6+
^Region starting at \(0, [0-9]+\) IF .*5.* THEN GOTO 4 ends at \(14, [0-9]+\) 5: SKIP$
77
^Region starting at \(2, [0-9]+\) .*::x := 0 ends at \(9, [0-9]+\) SKIP$
88
^EXIT=0$
99
^SIGNAL=0$

0 commit comments

Comments
 (0)