This adds some tweaks to the ssa-range cache. 1)   Adds a new merge_range which works like set_range, except if there is already a value, the two values are merged via intersection and stored.   THis avpoids having to check if there is a value, load it, intersect it then store that in the client. There is one usage pattern (but more to come) in the code base.. change to use it. 2)  The range_of_expr() method in ssa_cache does not set the stmt to a default of NULL.  Correct that oversight. 3)  the method empty_p() is added to the ssa_lazy_cache class so we can detect if the lazy cache has any active elements in it or not. Bootstrapped on 86_64-pc-linux-gnu with no regressions.   Pushed. Andrew