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

Rafael Espíndola rafael.espindola at gmail.com
Thu Mar 20 10:21:06 PDT 2014


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

That is fine by me. I was mostly worried that you were doing code
cleanups in dead code. It would probably nice to rename the pass once
you are done to make it clear that it only deletes exception handling.

Cheers,
Rafael



More information about the llvm-commits mailing list