<div dir="ltr">Hi Hal,<div><br></div><div>Sorry that I missed your initial comment.</div><div><br></div><div>I want as many operations as possible to be able to operate on entire loop nests rather than leaf loops. Even vectorization, as a stretch goal (the legalities of such a thing I leave to some other component; I'm talking here about the pure mechanics).</div><div><br></div><div>A personal goal of mine is for this work to enable a simple unroll-and-jam pass which would indeed require loop interleaving on a non-innermost loop.</div><div><br></div><div>If-conversion was something I hadn't thought of previously, but I think it'd be really nice to break that away a bit from vectorization; have the LoopVectorizer if-convert the scalar code, then widen/vectorize that afterwards. I think that separates concerns a bit easier.</div><div><br></div><div>James<br><div><br><div class="gmail_quote"><div dir="ltr">On Mon, 10 Aug 2015 at 04:51 <a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a> via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">hfinkel added a comment.<br>
<br>
I think this looks quite useful.<br>
<br>
One thing that is not obvious to me is what the LoopEditor will do for loops that are not inner loops. Are any of these operations inner-loop only?<br>
<br>
Also, how will if-conversion (during vectorization, etc.) work?<br>
<br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
<a href="http://reviews.llvm.org/D11530" rel="noreferrer" target="_blank">http://reviews.llvm.org/D11530</a><br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div></div></div>