With no offense meant, I've been writing solvers for 10+ years.  What you are suggesting is not just a tweak.  Doing it on a per pointer basis is neither trivial nor easy to keep sound. If you think it is, I would suggest taking GCC's implementation and trying to do it. If what you say was true, production compilers would be doing it.  But they don't.<div><div><br></div><div>The other problem you mention is, IMHO, not actually as interesting.  We already have traditional methods (value profiling, etc) of knowing which things matter.  Static prediction of this has a long history of over promise and under delivery.  <br><br><div class="gmail_quote"><div dir="ltr">On Fri, Mar 25, 2016, 9:20 PM Jia Chen <<a href="mailto:jchen@cs.utexas.edu">jchen@cs.utexas.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 03/25/2016 08:26 PM, Daniel Berlin wrote:<br>
><br>
> Yeah.<br>
> It depends entirely on your goal. In reality, often what you really<br>
> want is something to say "hey, i've got this pointer over here, and i<br>
> really want to hoist  it up here. Do something, tell me if that is<br>
> possible".<br>
><br>
And this is one motivation of my current research: how can various<br>
precision dimensions of a pointer analysis be effectively driven by its<br>
client.<br>
<br>
> (This is actually why i'm a fan of CFL-AA. You can essentially make it<br>
> as expensive or not expensive as you want, and it still does really<br>
> well in pracftice in time)<br>
><br>
Again, "making it as expensive or not expensive as you want" is not<br>
something unique about cfl-aa. With the right tweak one can also do it<br>
with a traditional solver. The real interesting question here is how to<br>
find out what locations are most likely to matter and worth making<br>
expensive.<br>
<br>
- Jia<br>
<br>
<br>
</blockquote></div></div></div>