<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Apr 15, 2014 at 2:14 PM, Vadim Chugunov <span dir="ltr"><<a href="mailto:vadimcn@gmail.com" target="_blank">vadimcn@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>I've looked through LLVM codegen code and found that SelectionDAGBuilder::visitUnreachable() is basically a no-op.  So I don't see how it could have generated anything...<br>
<br></div>What would be the right way to go about adding this functionality?    Right now I am thinking to add 'EmitTargetCodeForUnreachable()' method to TargetSelectionDAGInfo class, so that targets can emit code for 'unreachable', if they need that.   Does that sound right?</div>
</div></blockquote><div><br></div><div>Personally I'm in favor, but others may disagree.  Right now clang inserts calls to llvm.trap(), and that's how we get ud2's when falling off the end of a function with a return type.  That may be the preferred approach for __builtin_unreachable(), since other clients of LLVM at -O0 may actually want it to produce code quickly without inserting any debugging aids.</div>
</div></div></div>