<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jun 15, 2015 at 6:03 PM, Daniel Berlin <span dir="ltr"><<a href="mailto:dberlin@dberlin.org" target="_blank">dberlin@dberlin.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> From a personal perspective, I'm particularly interested in the maximum<br>
> analytic precision each AA approach can take, almost without regard to how<br>
> much time or memory the computation takes to run.<br>
<br>
</span>I'm wildly curious why.<br></blockquote><div><br></div><div>One reason is that I'm simply curious about the trade-off space between AA precision and AA running-time.  Since I don't make compilers for a living, I have the luxury of staring at corners of the design space which would be idiotic to actually include in LLVM :)</div><div><br></div><div>Another reason is that in past work, I've sometimes worked on code where I'd gladly accept a 10-day compilation time, if it bought me an extra 10% in performance.  So I sometimes wonder what's involved in making such optimization passes available, even though people wouldn't want to use them on a day-to-day basis.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Constraints contain stride info, and intersection is then used to<br>
compute what sub-variables a constraint touches during solving.<br>
It is a variant of this:<br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__homepages.mcs.vuw.ac.nz_-7Edjp_files_paste04.ps&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=RprOR9AOu4uVCvwzMptHxakQH5cT5CwUdLYoLYSRkHo&s=Yv5Vavx7rmB4evp5HoqN3hnmiY5BuQ9tgmVSdtUQZh8&e=" rel="noreferrer" target="_blank">http://homepages.mcs.vuw.ac.nz/~djp/files/paste04.ps</a></blockquote><div><br></div><div>Thanks, I'll try to give it a read.    </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Some programs have so many sub-variables you will run out of memory.<br>
This is true in the location set approach as well.<br></blockquote><div><br></div><div>I'm surprised you ran into that kind of trouble with memory.  Was that back in 32-bit days?</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
GCC only created variables for possibly-used field ranges too.<br>
I can point you at GCC bugs offline if you are interested<br></blockquote><div><br></div><div>Yeah, if you don't mind I'd be grateful for the links.</div><div><br></div></div></div></div>