[PATCH] Add a test for LowerInvoke that doesn't use "-enable-correct-eh-support"

Mark Seaborn mseaborn at chromium.org
Thu Mar 20 09:57:36 PDT 2014


On 20 March 2014 09:29, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote:

> btw, isn't all of LowerInvoke dead? It is only used with
> ExceptionHandling::None. We could probably just produce an error in
> that case.
>

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.

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

lib/Target/MSP430
lib/Target/NVPTX
lib/Target/R600

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.

I expect LowerInvoke is still useful for backends that don't support
exception handling yet or won't ever need to.

Cheers,
Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140320/66216788/attachment.html>


More information about the llvm-commits mailing list