<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>