use implications to encode while and break filters
commite58c023971de02f11b79e632db632d6a38768289
authorSven Verdoolaege <skimo@kotnet.org>
Thu, 20 Jun 2013 13:45:34 +0000 (20 15:45 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Thu, 25 Jul 2013 10:18:49 +0000 (25 12:18 +0200)
treea176277771dda44f6555b75ca0c1ca2e09bf2132
parent7166127fcf65ac2c53e6d23ff995d3263279b221
use implications to encode while and break filters

Filters that express while or break conditions used to be encoded
by filter maps mapping to all previous iterations.  Since we want
to keep track of index expressions in the future, this commits
breaks such filter maps into two parts, a filter expressing the condition
on the previous iteration and an implication expressing that this condition
extends to all previous iterations.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
16 files changed:
emit.c
scan.cc
scop.c
tests/break3.scop
tests/break4.scop
tests/for_while.scop
tests/for_while_dec.scop
tests/for_while_inc.scop
tests/for_while_overflow.scop
tests/for_while_unsigned.scop
tests/for_while_unsigned2.scop
tests/unsigned_break2.scop
tests/while.scop
tests/while_break.scop
tests/while_inc.scop
tests/while_overflow.scop