Yup,<br>You are right. That exploded.<br>I missed some lines in between.<br>there was a .reserve(total) in the actual code.<br>But, there is some side effect I still could not  find.<br><br><br><div><span class="gmail_quote">
2007/8/16, Chris Lattner <<a href="mailto:sabre@nondot.org">sabre@nondot.org</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Wed, 15 Aug 2007, [ISO-8859-1] Emílio Wuerges wrote:<br>> --<br>> int total = BB->size();<br>> std::vector<MachineInstr*> positionmap(total);<br>>  for (int i = 0; i< total; ++i)<br>>    positionmap.push_back
(BB->remove(BB->begin()));<br>>  for(int i = 0; i< total; ++i)<br>>    BB->push_back(positionmap[i]);<br>> --<br><br>This doesn't do what you think.  This line:<br><br>std::vector<MachineInstr*> positionmap(total);
<br><br>Creates a vector with "total" null elements in it, it doesn't reserve<br>space.  This means that this loop:<br>   for(int i = 0; i< total; ++i)<br>     BB->push_back(positionmap[i]);<br><br>Inserts all these nulls into the BB.  I'm surprised this doesn't explode.
<br><br>-Chris<br><br>--<br><a href="http://nondot.org/sabre/">http://nondot.org/sabre/</a><br><a href="http://llvm.org/">http://llvm.org/</a><br>_______________________________________________<br>LLVM Developers mailing list
<br><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>Emilio Wuerges<br>LAPS - Laboratorio de Automacao de Projeto de Sistemas<br>UFSC - Universidade Federal de Santa Catarina<br>Brasil