<div dir="ltr">Ok -- I plan to explicitly define move ctors in the second stage change.<div><br></div><div>thanks,</div><div><br></div><div>David</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 22, 2016 at 3:48 PM, Sean Silva <span dir="ltr"><<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">silvas added a subscriber: silvas.<br>
<span class=""><br>
================<br>
Comment at: include/llvm/Analysis/LoopAccessAnalysis.h:617-623<br>
@@ -616,9 +616,9 @@<br>
<br>
   /// We need to check that all of the pointers in this list are disjoint<br>
   /// at runtime.<br>
-  RuntimePointerChecking PtrRtChecking;<br>
+  std::unique_ptr<RuntimePointerChecking> PtrRtChecking;<br>
<br>
   /// \brief the Memory Dependence Checker which can determine the<br>
   /// loop-independent and loop-carried dependences between memory accesses.<br>
-  MemoryDepChecker DepChecker;<br>
+  std::unique_ptr<MemoryDepChecker> DepChecker;<br>
<br>
----------------<br>
</span><span class="">anemet wrote:<br>
> Please add a comment saying that these are pointers to facilitate the move ctor.<br>
</span>This might not be relevant, but FYI there is a gotcha with MSVC 2013 where it can't synthesize a move ctor. Just a heads up in case there are bot problems with this patch.<br>
<br>
This caused me problems when porting JumpThreading. See <a href="http://reviews.llvm.org/rL272607" rel="noreferrer" target="_blank">http://reviews.llvm.org/rL272607</a> in particular the manually defined move constructor with the comment "// Hack for MSVC 2013 which seems like it can't synthesize this.".<br>
<br>
The fix there is based on the earlier r216244 that gave insight into the problem.<br>
<br>
<br>
<a href="http://reviews.llvm.org/D21563" rel="noreferrer" target="_blank">http://reviews.llvm.org/D21563</a><br>
<br>
<br>
<br>
</blockquote></div><br></div>