fix a bug of dependency analysis for range value analysis
previously, the analysis will go to infinite analysis if there are
several nested loops, because it will clear all the previous
dependency information when it get out of the inner loop.
Actually, this fix is still not good, if two local variables in
two independent loop scope, one has dependency, one doesn't. The
analysis will treat both of them have dependency, this is obviously
not correct. TODO, make the dependency analysis more precise.

Also modified a little bit on one error information in shape
analysis, very trivial.