<div dir="ltr">LGTM.</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 9, 2015 at 10:33 AM, Daniel Reynaud <span dir="ltr"><<a href="mailto:dreynaud@apple.com" target="_blank">dreynaud@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Jan 7, 2015, at 4:59 PM, David Majnemer <<a href="mailto:david.majnemer@gmail.com">david.majnemer@gmail.com</a>> wrote:<br>
><br>
> Any reason why we can't just switch BlocksSchedules to being a MapVector?<br>
<br>
</span>Ah you're right, a MapVector works. Here is the amended patch:<br>
<br>
<br>
diff --git a/lib/Transforms/Vectorize/SLPVectorizer.cpp b/lib/Transforms/Vectorize/SLPVectorizer.cpp<br>
index c8b8ff2..c2ae163 100644<br>
--- a/lib/Transforms/Vectorize/SLPVectorizer.cpp<br>
+++ b/lib/Transforms/Vectorize/SLPVectorizer.cpp<br>
@@ -857,7 +857,7 @@ private:<br>
<span class="">   };<br>
<br>
   /// Attaches the BlockScheduling structures to basic blocks.<br>
</span>-  DenseMap<BasicBlock *, std::unique_ptr<BlockScheduling>> BlocksSchedules;<br>
+  MapVector<BasicBlock *, std::unique_ptr<BlockScheduling>> BlocksSchedules;<br>
<div class="HOEnZb"><div class="h5"><br>
   /// Performs the "real" scheduling. Done before vectorization is actually<br>
   /// performed in a basic block.<br>
<br>
</div></div></blockquote></div><br></div>