1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/test/Transforms/Inline
David Majnemer 29ae1c3d76 [WinEH] Don't inline an 'unwinds to caller' cleanupret into funclets which locally unwind
It is problematic if the inlinee has a cleanupret which unwinds to
caller and we inline it into a call site which doesn't unwind.

If the funclet unwinds anywhere other than to the caller,
then we will give the funclet two unwind destinations.
This will result in a verifier failure.

Seeing as how the caller wasn't an invoke (which would locally unwind)
and that the funclet cannot unwind to caller, we must conclude that an
'unwind to caller' cleanupret is dynamically unreachable.

This fixes PR26698.

Differential Revision: http://reviews.llvm.org/D17536

llvm-svn: 261656
2016-02-23 17:11:04 +00:00
..
X86 Make an X86 specific directory and put the recent X86 tti specific 2015-07-02 01:36:31 +00:00
2003-09-14-InlineValue.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2003-09-22-PHINodeInlineFail.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2003-09-22-PHINodesInExceptionDest.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2003-09-22-PHINodesInNormalInvokeDest.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
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 [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2006-11-09-InlineCGUpdate-2.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2006-11-09-InlineCGUpdate.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2007-04-15-InlineEH.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2007-06-25-WeakInline.ll
2007-12-19-InlineNoUnwind.ll
2008-09-02-NoInline.ll
2009-01-08-NoInlineDynamicAlloca.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-01-13-RecursiveInlineCrash.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-05-07-CallUsingSelfCrash.ll
2010-05-12-ValueMap.ll
align.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
alloca_test.ll
alloca-bonus.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
alloca-dbgdeclare-merge.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
alloca-dbgdeclare.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
alloca-in-scc.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
alloca-merge-align.ll Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
always-inline.ll Check the alwaysinline attribute on the call as well as on the caller. 2014-05-19 18:25:54 +00:00
array_merge.ll
attributes.ll [Inliner] Merge the attributes of the caller and callee functions 2016-01-13 06:02:45 +00:00
basictest.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
blockaddress.ll Suppress inlining when the block address is taken 2014-07-01 00:19:34 +00:00
byval_lifetime.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
byval-tail-call.ll Reapply 239795 - [InstCombine] Propagate non-null facts to call parameters 2015-06-16 20:24:25 +00:00
byval.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
callgraph-update.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
casts.ll
cfg_preserve_test.ll
crash2.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
crash-lifetime-marker.ll [InlineFunction] Don't add lifetime markers for zero-sized allocas. 2015-04-20 16:11:05 +00:00
crash.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
debug-info-duplicate-calls.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
debug-invoke.ll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
delete-call.ll
deopt-bundles.ll Nonnull elements in OperandBundleCallSites are not all Instructions 2015-12-19 22:40:28 +00:00
devirtualize-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
devirtualize-3.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
devirtualize.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
dynamic_alloca_test.ll
ephemeral.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
externally_available.ll
frameescape.ll Rename llvm.frameescape and llvm.framerecover to localescape and localrecover 2015-07-07 22:25:32 +00:00
gvn-inline-iteration.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
ignore-debug-info.ll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
inline_cleanup.ll
inline_constprop.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
inline_dbg_declare.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
inline_dce.ll
inline_invoke.ll Sort the enums in Attributes.h in case insensitive alphabetical order. 2015-11-11 02:11:46 +00:00
inline_minisize.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
inline_prune.ll
inline_returns_twice.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
inline_ssp.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
inline_unreachable.ll Avoid inlining call sites in unreachable-terminated block 2016-02-01 20:55:11 +00:00
inline-assume.ll [Inline] Use AssumptionCache from the right Function 2015-09-23 15:49:08 +00:00
inline-byval-bonus.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
inline-cold-callee.ll Determine callee's hotness and adjust threshold based on that. NFC. 2015-12-22 00:32:35 +00:00
inline-cold.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
inline-constexpr-addrspacecast-argument.ll Fix assert when inlining a constantexpr addrspacecast 2015-07-27 18:31:03 +00:00
inline-fast-math-flags.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
inline-fp.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
inline-funclets.ll [Inliner/WinEH] Honor implicit nounwinds 2016-01-20 02:15:15 +00:00
inline-hot-callee.ll Determine callee's hotness and adjust threshold based on that. NFC. 2015-12-22 00:32:35 +00:00
inline-indirect.ll Fix a crash in the assumption cache when inlining indirect function calls 2015-02-12 21:04:22 +00:00
inline-invoke-tail.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
inline-invoke-with-asm-call.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
inline-musttail-varargs.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
inline-optnone.ll
inline-optsize.ll Lower inlining threshold when the caller has minsize attribute. 2016-01-28 23:44:41 +00:00
inline-tail.ll Revert "Transforms: reapply SVN r219899" 2014-11-04 02:02:14 +00:00
inline-vla.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
invoke_test-1.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
invoke_test-2.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
invoke_test-3.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
invoke-cleanup.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
invoke-combine-clauses.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
invoke-cost.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
lifetime-no-datalayout.ll Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
lifetime.ll
nested-inline.ll
noalias2.ll Have a single way for creating unique value names. 2015-11-22 00:16:24 +00:00
noalias-calls.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
noalias-cs.ll Have a single way for creating unique value names. 2015-11-22 00:16:24 +00:00
noalias.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
noinline-recursive-fn.ll
noinline.ll
nonnull.ll Teach InlineCost to account for a null check which can be folded away 2015-06-26 20:51:17 +00:00
null-function.ll Add new lines to debugging information. 2014-07-03 02:11:49 +00:00
optimization-remarks.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
pr21206.ll Change the .ll syntax for comdats and add a syntactic sugar. 2015-01-06 22:55:16 +00:00
pr22285.ll [Inliner] Discard empty COMDAT groups 2015-05-05 20:14:22 +00:00
pr26698.ll [WinEH] Don't inline an 'unwinds to caller' cleanupret into funclets which locally unwind 2016-02-23 17:11:04 +00:00
PR4909.ll
ptr-diff.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
recursive.ll
store-sroa.ll Correctly estimate SROA savings for store operands in inline cost analysis. 2015-03-20 18:33:12 +00:00
switch.ll [inliner] Significantly improve the compile time in cases like PR19499 2014-04-28 08:52:44 +00:00
vector-bonus.ll [inliner] Fix the early-exit of the inline cost analysis to correctly 2015-05-27 02:49:05 +00:00
zero-cost.ll Inliner: Do zero-cost inlines even if above a negative threshold (PR24851) 2015-11-10 09:47:48 +00:00