[llvm-commits] [llvm] r140852 - in /llvm/trunk: lib/Transforms/InstCombine/InstCombine.h lib/Transforms/InstCombine/InstructionCombining.cpp test/Transforms/InstCombine/LandingPadClauses.ll

John McCall rjmccall at apple.com
Fri Sep 30 14:14:42 PDT 2011


On Sep 30, 2011, at 6:12 AM, Duncan Sands wrote:
> URL: http://llvm.org/viewvc/llvm-project?rev=140852&view=rev
> Log:
> Inlining often produces landingpad instructions with repeated
> catch or repeated filter clauses.  Teach instcombine a bunch
> of tricks for simplifying landingpad clauses.  Currently the
> code only recognizes the GNU C++ and Ada personality functions,
> but that doesn't stop it doing a bunch of "generic" transforms
> which are hopefully fine for any real-world personality function.
> If these "generic" transforms turn out not to be generic, they
> can always be conditioned on the personality function.  Probably
> someone should add the ObjC++ personality function.  I didn't as
> I don't know anything about it.

It would make sense for this to be based on an always-valid analysis
pass like TargetData.  That way, frontends can tell LLVM about
their crazy new personality functions without us having to hack
LLVM every time.

John.



More information about the llvm-commits mailing list