<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>SimplifyCFG is mostly doing canonicalization. It does some obvious if-conversion. More general if-conversions require target info so it's done in MI passes. LLVM has an early if-converter which uses machinetracemetric and a late one after regalloc. </div><div><br></div><div>Evan<br><br>Sent from my iPad</div><div><br>On Nov 11, 2013, at 2:49 AM, Jonas Wagner <<a href="mailto:jonas.wagner@epfl.ch">jonas.wagner@epfl.ch</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">Hi,<br><div class="gmail_quote"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<br>
Sorry to dig up an old thread but I wondered what the status of<br>
if-conversion in LLVM is. Has any work been done towards handling this as a<br>
transform pass on the IR?<br></blockquote><div><br></div></div><div>As far as I know, some if-conversion is done in SimplifyCFG: Have a look at the SpeculativelyExecuteBB function in lib/Transforms/Utils/SimplifyCFG.cpp.</div>


<div><br></div><div>Cheers,</div><div>Jonas</div></div></div></div>
</div><br></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>LLVM Developers mailing list</span><br><span><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></span><br><span><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></span><br></div></blockquote></body></html>