1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 12:43:36 +01:00
llvm-mirror/test/Transforms/Inline
Mark Seaborn 2d856cb007 Fix inlining to not produce duplicate landingpad clauses
Before this change, inlining one "invoke" into an outer "invoke" call
site can lead to the outer landingpad's catch/filter clauses being
copied multiple times into the resulting landingpad.  This happens:

 * when the inlined function contains multiple "resume" instructions,
   because forwardResume() copies the clauses but is called multiple
   times;

 * when the inlined function contains a "resume" and a "call", because
   HandleCallsInBlockInlinedThroughInvoke() copies the clauses but is
   redundant with forwardResume().

Fix this by deduplicating the code.

This problem doesn't lead to any incorrect execution; it's only
untidy.

This change will make fixing PR17872 a little easier.

llvm-svn: 196710
2013-12-08 00:50:58 +00:00
..
2003-09-14-InlineValue.ll
2003-09-22-PHINodeInlineFail.ll
2003-09-22-PHINodesInExceptionDest.ll
2003-09-22-PHINodesInNormalInvokeDest.ll
2003-10-13-AllocaDominanceProblem.ll
2004-04-15-InlineDeletesCall.ll
2004-04-20-InlineLinkOnce.ll
2004-10-17-InlineFunctionWithoutReturn.ll
2006-01-14-CallGraphUpdate.ll
2006-07-12-InlinePruneCGUpdate.ll
2006-11-09-InlineCGUpdate-2.ll
2006-11-09-InlineCGUpdate.ll
2007-04-15-InlineEH.ll
2007-06-25-WeakInline.ll
2007-12-19-InlineNoUnwind.ll
2008-09-02-NoInline.ll
2009-01-08-NoInlineDynamicAlloca.ll
2009-01-13-RecursiveInlineCrash.ll
2009-05-07-CallUsingSelfCrash.ll
2010-05-12-ValueMap.ll
2010-05-31-ByvalTailcall.ll Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. 2013-07-14 01:50:49 +00:00
alloca_test.ll
alloca-bonus.ll
alloca-in-scc.ll
alloca-merge-align-nodl.ll TBAA: remove !tbaa from testing cases when they are not needed. 2013-09-30 18:17:35 +00:00
alloca-merge-align.ll TBAA: remove !tbaa from testing cases when they are not needed. 2013-09-30 18:17:35 +00:00
always-inline.ll
array_merge.ll
attributes.ll Disable inlining between sanitized and non-sanitized functions. 2013-08-08 08:22:39 +00:00
basictest.ll Fixup to r186268 and r186269: don't append -LABEL to CHECK-NOT. No functionality change. 2013-07-14 02:10:57 +00:00
blockaddress.ll
byval.ll Revert "Inliner: Handle readonly attribute per argument when adding memcpy" 2013-11-03 12:22:13 +00:00
callgraph-update.ll
casts.ll
cfg_preserve_test.ll
crash2.ll
crash.ll
delete-call.ll Fix FileCheck --check-prefix lines. 2013-08-12 12:43:26 +00:00
devirtualize-2.ll
devirtualize-3.ll
devirtualize.ll
dynamic_alloca_test.ll
externally_available.ll
gvn-inline-iteration.ll
inline_cleanup.ll Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. 2013-07-14 01:50:49 +00:00
inline_constprop.ll Have InlineCost check constant fcmps 2013-07-20 04:09:00 +00:00
inline_dce.ll
inline_invoke.ll Fix inlining to not produce duplicate landingpad clauses 2013-12-08 00:50:58 +00:00
inline_minisize.ll
inline_prune.ll
inline_returns_twice.ll Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. 2013-07-14 01:50:49 +00:00
inline_ssp.ll
inline-byval-bonus.ll
inline-invoke-tail.ll
inline-invoke-with-asm-call.ll Rename testing case to use - instead of _. 2013-11-04 18:52:06 +00:00
inline-optnone.ll The 'optnone' attribute means don't inline anything into this function 2013-11-18 21:44:03 +00:00
inline-optsize.ll
inline-tail.ll
invoke_test-1.ll
invoke_test-2.ll
invoke_test-3.ll
invoke-combine-clauses.ll Fix inlining to not produce duplicate landingpad clauses 2013-12-08 00:50:58 +00:00
lifetime-no-datalayout.ll
lifetime.ll
nested-inline.ll Fixup to r186268 and r186269: don't append -LABEL to CHECK-NOT. No functionality change. 2013-07-14 02:10:57 +00:00
noinline-recursive-fn.ll
noinline.ll
PR4909.ll
ptr-diff.ll Handle address spaces in TargetTransformInfo 2013-08-28 22:41:57 +00:00
recursive.ll Catch more CHECK that can be converted to CHECK-LABEL in Transforms for easier debugging. No functionality change. 2013-07-14 01:50:49 +00:00