-- extended MIL dead code elimination: it now copes with while loops.
-- extended MIL dead code elimination: it now copes with while loops.

   To detect which variables are used in a while loop we first collect
   all the variables used inside the condition and the body before
   seeding the rewrite of the body with these variables.

   (Because the variable usage was inferred during the elimination
   process I introduced a new argument to the worker that allows to
   switch off rewrites during the traversal.)

-- Fixed variable usage information for the if-then-else construct
   (We need to ensure that the condition variables are marked as
   in use when rewriting the previous statements and expression.)

zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb