On Fri, 2006-03-31 at 09:55 +0100, Andrew Haley wrote: > Well, it's not just functionss but also global variables. AFAICS > there are three sources of data: args, retvals, and globals. And > there are quite a few of these globals we can usefully tag as "known > never to be null". Seems to me the same mechanism we should use for tagging functions as returning non-null values should be used to tag globals -- it's just an attribute after all.
Then we just need to make VRP not be so quick to ignore statements with virtual operands (ie, the same problem we need to solve if VRP is going to be able to use non-null attributes on function return values). Jeff