llvm-6502/test/Transforms/Inline
Hal Finkel 5581563457 Fix AddAliasScopeMetadata again - alias.scope must be a complete description
I thought that I had fixed this problem in r216818, but I did not do a very
good job. The underlying issue is that when we add alias.scope metadata we are
asserting that this metadata completely describes the aliasing relationships
within the current aliasing scope domain, and so in the context of translating
noalias argument attributes, the pointers must all be based on noalias
arguments (as underlying objects) and have no other kind of underlying object.
In r216818 excluding appropriate accesses from getting alias.scope metadata is
done by looking for underlying objects that are not identified function-local
objects -- but that's wrong because allocas, etc. are also function-local
objects and we need to explicitly check that all underlying objects are the
noalias arguments for which we're adding metadata aliasing scopes.

This fixes the underlying-object check for adding alias.scope metadata, and
does some refactoring of the related capture-checking eligibility logic (and
adds more comments; hopefully making everything a bit clearer).

Fixes self-hosting on x86_64 with -mllvm -enable-noalias-to-md-conversion (the
feature is still disabled by default).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216863 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-01 04:26:40 +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
alloca_test.ll
alloca-bonus.ll
alloca-in-scc.ll
alloca-merge-align-nodl.ll
alloca-merge-align.ll
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
basictest.ll
blockaddress.ll Suppress inlining when the block address is taken 2014-07-01 00:19:34 +00:00
byval_lifetime.ll Add lifetime markers for allocas created to hold byval arguments, make them 2014-04-15 18:06:46 +00:00
byval-tail-call.ll Fix PR7272 in -tailcallelim instead of the inliner 2014-04-21 20:48:47 +00:00
byval.ll
callgraph-update.ll
casts.ll
cfg_preserve_test.ll
crash2.ll
crash.ll
debug-invoke.ll DebugInfo: Preserve debug location information when transforming a call into an invoke during inlining. 2014-06-30 20:30:39 +00:00
delete-call.ll
devirtualize-2.ll
devirtualize-3.ll
devirtualize.ll
dynamic_alloca_test.ll
externally_available.ll
gvn-inline-iteration.ll
ignore-debug-info.ll Revert test commit. Removed blank line. 2014-05-08 12:54:43 +00:00
inline_cleanup.ll
inline_constprop.ll
inline_dce.ll
inline_invoke.ll
inline_minisize.ll
inline_prune.ll
inline_returns_twice.ll
inline_ssp.ll
inline-byval-bonus.ll
inline-cold.ll [inline cold threshold] Command line argument for inline threshold will 2014-04-25 17:34:55 +00:00
inline-invoke-tail.ll
inline-invoke-with-asm-call.ll
inline-musttail-varargs.ll Declare that musttail calls in variadic functions forward the ellipsis 2014-08-26 00:33:28 +00:00
inline-optnone.ll
inline-optsize.ll
inline-tail.ll Don't insert lifetime.end markers between a musttail call and ret 2014-05-15 21:10:46 +00:00
inline-vla.ll Handle vlas during inline cost computation if they'll be turned 2014-04-07 13:36:21 +00:00
invoke_test-1.ll
invoke_test-2.ll
invoke_test-3.ll
invoke-cleanup.ll
invoke-combine-clauses.ll
invoke-cost.ll
lifetime-no-datalayout.ll
lifetime.ll
nested-inline.ll
noalias2.ll Convert noalias parameter attributes into noalias metadata during inlining 2014-07-25 15:50:08 +00:00
noalias-calls.ll Fix AddAliasScopeMetadata again - alias.scope must be a complete description 2014-09-01 04:26:40 +00:00
noalias-cs.ll Copy noalias metadata from call sites to inlined instructions 2014-08-14 21:09:37 +00:00
noalias.ll Convert noalias parameter attributes into noalias metadata during inlining 2014-07-25 15:50:08 +00:00
noinline-recursive-fn.ll
noinline.ll
null-function.ll Add new lines to debugging information. 2014-07-03 02:11:49 +00:00
optimization-remarks.ll Add support for missed and analysis optimization remarks. 2014-05-22 14:19:46 +00:00
PR4909.ll
ptr-diff.ll
recursive.ll
switch.ll [inliner] Significantly improve the compile time in cases like PR19499 2014-04-28 08:52:44 +00:00