This patch implements the suggestion that we have an alternative ssa-cache which does not zero memory, and instead uses a bitmap to track whether a value is currently set or not.  It roughly mimics what path_range_query was doing internally. For sparsely used cases, expecially in large programs, this is more efficient.  I changed path_range_query to use this, and removed it old bitmap (and a hack or two around PHI calculations), and also utilized this is the assume_query class. Performance wise, the patch doesn't affect VRP (since that still uses the original version).  Switching to the lazy version caused a slowdown of 2.5% across VRP. There was a noticeable improvement elsewhere.,  across 230 GCC source files, threading ran over 12% faster!.  Overall compilation improved by 0.3%  Not sure it makes much difference in compiler.i, but it shouldn't hurt. bootstraps on x86_64-pc-linux-gnu with no regressions.   OK for trunk?  or do you want to wait for the next release... Andrew