<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 20 March 2014 09:29, Rafael Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br>

<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">btw, isn't all of LowerInvoke dead? It is only used with<br>


ExceptionHandling::None. We could probably just produce an error in<br>
that case.<br></blockquote><div><br></div><div>I'd rather hoped to keep LowerInvoke's basic functionality.  It is useful for PNaCl, where we support stripping out all exception handling from a pexe at link time, for pexes that don't need exception handling, in order to reduce the pexe size.  (In this case, throw always reports a fatal error.)  This means we don't need to build libraries such as libc++ twice (with and without exception handling).  We can build libraries with exception handling but strip it out from the bitcode later.</div>

<div><br></div><div>Also, I don't think it's dead.  The following subdirectories of lib/Target don't set ExceptionsType, so they presumably get ExceptionHandling::None:</div><div><br></div><div><div>lib/Target/MSP430</div>

<div>lib/Target/NVPTX</div></div><div><div>lib/Target/R600</div></div><div><br></div><div>If I make "case ExceptionHandling::None" produce an error in Passes.cpp, I get a load of lit test failures even for x86, e.g. test/CodeGen/X86/xor.ll, just because these are using minimal target triples which don't specify an exception handling type.<br>

</div><div><br></div><div>I expect LowerInvoke is still useful for backends that don't support exception handling yet or won't ever need to.</div><div><br></div><div>Cheers,</div><div>Mark</div><div><br></div></div>

</div></div>