<div dir="ltr">Hi Aditya,<br><br>Glad to hear that. I want to read the patch but it's kind of big and unfortunately right now I so don't have time.<br>I'll try to take a look when there is some time. In the meantime, you may want to add Kit Barton and Michael Kruse<br>as reviewers.<br><br>One question though. Are you sure that this:<br>> This helps with LICM when instructions inside a conditional is loop invariant<br>is not achieved with the current LoopRotate pass? Because AFAIK, it does. Basically it inserts<br>a guard (that branches to the preheader) and then passes like LICM hoist invariant instructions to the preheader.<br>Also, it does itself host some invariant instructions but only on the header and very limited ones.<br><br>Kind regards,<br>Stefanos Baziotis<br><br>P.S. I re-CC'd the other participants.<br><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Στις Σάβ, 21 Μαρ 2020 στις 8:41 μ.μ., ο/η Aditya K via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> έγραψε:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">hi,<br>
I had an implementation of loop-rotation that peels the loop such that each conditional is executed at least once.<br>
<a href="https://reviews.llvm.org/D22630" rel="noreferrer" target="_blank">https://reviews.llvm.org/D22630</a><br>
<br>
This helps with LICM when instructions inside a conditional is loop invariant. The patch has decent number of test cases.<br>
All the requested comments were addressed at that time. I'm happy to rebase and put the patch again.<br>
<br>
-Aditya<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>