Don't promote asynch EH invokes of nounwind functions to calls
authorReid Kleckner <reid@kleckner.net>
Wed, 11 Feb 2015 01:23:16 +0000 (01:23 +0000)
committerReid Kleckner <reid@kleckner.net>
Wed, 11 Feb 2015 01:23:16 +0000 (01:23 +0000)
commit96d011315aa01de179897eaf4e7baeddc5de1cda
treeccced202122ff25d6362be653140bfe079ab5925
parent58e985c2db3045f1416520212108f93c8c257b18
Don't promote asynch EH invokes of nounwind functions to calls

If the landingpad of the invoke is using a personality function that
catches asynch exceptions, then it can catch a trap.

Also add some landingpads to invalid LLVM IR test cases that lack them.

Over-the-shoulder reviewed by David Majnemer.

llvm-svn: 228782
13 files changed:
llvm/docs/LangRef.rst
llvm/include/llvm/Analysis/LibCallSemantics.h
llvm/lib/Analysis/LibCallSemantics.cpp
llvm/lib/CodeGen/WinEHPrepare.cpp
llvm/lib/Transforms/IPO/PruneEH.cpp
llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
llvm/lib/Transforms/Utils/Local.cpp
llvm/test/Feature/seh-nounwind.ll [new file with mode: 0644]
llvm/test/Other/2009-03-31-CallGraph.ll
llvm/test/Transforms/PruneEH/2003-11-21-PHIUpdate.ll [deleted file]
llvm/test/Transforms/PruneEH/seh-nounwind.ll [new file with mode: 0644]
llvm/test/Transforms/SimplifyCFG/2007-11-22-InvokeNoUnwind.ll
llvm/test/Transforms/SimplifyCFG/seh-nounwind.ll [new file with mode: 0644]