<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Hi Anat, </div><div><br></div><div>Thanks for working on this.  Can you split the two changes into two patches ? </div><div><br></div><div>Scalarizing PHIs makes sense to me. Does it solve PR11775 ?  </div><div><br></div><div>Regarding the second change, there is a cost model problem.  The existing code converts a vector cast into a scalar cast, which should be profitable for most platforms. However, your transformation creates an additional cast. Why is it better ? </div><div><br></div><div>I did not read the code but from a quick peek I noticed that the docs are not capitalized and punctuated properly and the variable names are funny, and you left some code commented out and there are extra braces, etc. </div><div><br></div><div>Thanks,</div><div>Nadav</div><br><div><div>On Apr 16, 2013, at 1:11 PM, "Shemer, Anat" <<a href="mailto:anat.shemer@intel.com">anat.shemer@intel.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><font face="Verdana" size="2"><span style="font-size: 10pt;"><div>Hi,</div><div> </div><div>I would like to add to InstCombineVectorOps.cpp a function that sclarizes a vector phi instruction if its only use is an extract operation of one element at a constant location. Such vector phi might be created by the vectorization phase and the generated code is non-optimal.</div><div>In addition, in the function InstCombiner::visitExtractElementInst I removed the limitation that extract is promoted over a cast only if the cast has only one use. To make this work I replaced the use of Builder->CreateExtractElement() call with InsertNewInstWith(ExtractElementInst::Create()..), which also inserts the new instruction into the worklist.</div><div> </div><div>I also added a test for these 2 cases.</div><div> </div><div>I will appreciate your feedback.</div><div> </div><div>Thanks, Anat</div><div> </div><div><font face="Calibri" size="2"><span style="font-size: 11pt;"></span></font></div><div><font face="Calibri" size="2"><span style="font-size: 11pt;"> </span></font></div><div><font face="Calibri" size="2"><span style="font-size: 11pt;"> </span></font></div></span></font><p>---------------------------------------------------------------------<br>Intel Israel (74) Limited</p><p>This e-mail and any attachments may contain confidential material for<br>the sole use of the intended recipient(s). Any review or distribution<br>by others is strictly prohibited. If you are not the intended<br>recipient, please contact the sender and delete all copies.</p><span><InstCombineVectorPHI.diff></span>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a></div></blockquote></div><br></body></html>