1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 21:42:54 +02:00
llvm-mirror/test/Transforms/Inline
Hal Finkel 5a6e2ec855 [Inliner] Preserve llvm.mem.parallel_loop_access metadata
When inlining a call site with llvm.mem.parallel_loop_access metadata, this
metadata needs to be propagated to all cloned memory-accessing instructions.
Otherwise, inlining parts of the loop body will invalidate the annotation.

With this functionality, we now vectorize the following as expected:

  void Body(int *res, int *c, int *d, int *p, int i) {
    res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];
  }

  void Test(int *res, int *c, int *d, int *p, int n) {
    int i;

  #pragma clang loop vectorize(assume_safety)
    for (i = 0; i < 1600; i++) {
      Body(res, c, d, p, i);
    }
  }

llvm-svn: 267949
2016-04-28 23:00:04 +00:00
..
X86
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
align.ll
alloca_test.ll
alloca-bonus.ll
alloca-dbgdeclare-merge.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
alloca-dbgdeclare.ll DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
alloca-in-scc.ll
alloca-merge-align.ll
always-inline.ll
array_merge.ll
attributes.ll Add support for no-jump-tables 2016-03-29 17:46:23 +00:00
basictest.ll
blockaddress.ll ValueMapper: Fix delayed blockaddress handling after r265273 2016-04-06 02:25:12 +00:00
byval_lifetime.ll
byval-tail-call.ll
byval.ll
callgraph-update.ll
casts.ll
cfg_preserve_test.ll
comdat-ipo.ll Don't IPO over functions that can be de-refined 2016-04-08 00:48:30 +00:00
crash2.ll
crash-lifetime-marker.ll
crash.ll
debug-info-duplicate-calls.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
debug-invoke.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
delete-call.ll
deopt-bundles.ll Nonnull elements in OperandBundleCallSites are not all Instructions 2015-12-19 22:40:28 +00:00
deoptimize-intrinsic.ll Maintain calling convention when inling calls to llvm.deoptimize 2016-04-09 00:22:59 +00:00
devirtualize-2.ll
devirtualize-3.ll
devirtualize.ll
dynamic_alloca_test.ll
ephemeral.ll
externally_available.ll
frameescape.ll
guard-intrinsic.ll Introduce a @llvm.experimental.guard intrinsic 2016-03-31 00:18:46 +00:00
gvn-inline-iteration.ll
ignore-debug-info.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
inline_cleanup.ll
inline_constprop.ll
inline_dbg_declare.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +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
inline_prune.ll
inline_returns_twice.ll
inline_ssp.ll
inline_unreachable-2.ll Test case for r265852. 2016-04-13 19:43:31 +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-byval-bonus.ll
inline-cold-callee.ll Revert "Replace the use of MaxFunctionCount module flag" 2016-04-18 15:31:11 +00:00
inline-cold.ll
inline-constexpr-addrspacecast-argument.ll
inline-fast-math-flags.ll
inline-fp.ll
inline-funclets.ll [Inliner/WinEH] Honor implicit nounwinds 2016-01-20 02:15:15 +00:00
inline-hot-callee.ll Revert "Replace the use of MaxFunctionCount module flag" 2016-04-18 15:31:11 +00:00
inline-indirect.ll
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
inline-musttail-varargs.ll
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
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
invoke_test-2.ll
invoke_test-3.ll
invoke-cleanup.ll
invoke-combine-clauses.ll
invoke-cost.ll
lifetime-no-datalayout.ll
lifetime.ll
local-as-metadata-undominated-use.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
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
noinline-recursive-fn.ll
noinline.ll
nonnull.ll
null-function.ll
optimization-remarks.ll
parallel-loop-md.ll [Inliner] Preserve llvm.mem.parallel_loop_access metadata 2016-04-28 23:00:04 +00:00
pr21206.ll
pr22285.ll
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
profile-meta.ll add checks for 'unpredictable' metadata preservation 2016-03-16 18:15:34 +00:00
ptr-diff.ll
recursive.ll
store-sroa.ll
switch.ll
vector-bonus.ll
zero-cost.ll Inliner: Do zero-cost inlines even if above a negative threshold (PR24851) 2015-11-10 09:47:48 +00:00