<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 4, 2016 at 12:43 PM, George Burgess IV <span dir="ltr"><<a href="mailto:george.burgess.iv@gmail.com" target="_blank">george.burgess.iv@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><span class=""><div><span style="font-size:12.8px">> I'm not convinced this is the right model in the new pass manager - it's</span><br></div><span style="font-size:12.8px">> essentially giving us two layers of caching, since the new PM already</span><br style="font-size:12.8px"><span style="font-size:12.8px">> computes the analysis on demand (when you first call getResult) and</span><br style="font-size:12.8px"><span style="font-size:12.8px">> caches that until its invalidated.</span><br><div><span style="font-size:12.8px"><br></span></div></span><div><span style="font-size:12.8px">IIRC, the lazy pass was made before we decided to just compute everything eagerly all the time (which lets us provide the uses-point-to-their-actual-clobbering-defs guarantee). So, the name here is somewhat misleading. If it turns out that we don't need this at all, I think it would be fine to remove it. Otherwise, renaming it to just MemorySSAPass (or similar) would probably be best.</span></div></div></div></blockquote><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><span class=""><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">> This is pretty weird in a printer pass. Does this mean we would need to</span><br style="font-size:12.8px"><span style="font-size:12.8px">> call buildMemorySSA in *any* user of the analysis pass?</span><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div></span><div><span style="font-size:12.8px">Yeah, the API is a bit ugly here. :)</span></div></div></blockquote><div><br></div><div>This is because it was originally a utility and not a pass :)</div><div><br></div></div></div></div>