1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/test/Transforms/Inline
Adrian Prantl 57907269da [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation
so we can stop using DW_OP_bit_piece with the wrong semantics.

The entire back story can be found here:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20161114/405934.html

The gist is that in LLVM we've been misinterpreting DW_OP_bit_piece's
offset field to mean the offset into the source variable rather than
the offset into the location at the top the DWARF expression stack. In
order to be able to fix this in a subsequent patch, this patch
introduces a dedicated DW_OP_LLVM_fragment operation with the
semantics that we used to apply to DW_OP_bit_piece, which is what we
actually need while inside of LLVM. This patch is complete with a
bitcode upgrade for expressions using the old format. It does not yet
fix the DWARF backend to use DW_OP_bit_piece correctly.

Implementation note: We discussed several options for implementing
this, including reserving a dedicated field in DIExpression for the
fragment size and offset, but using an custom operator at the end of
the expression works just fine and is more efficient because we then
only pay for it when we need it.

Differential Revision: https://reviews.llvm.org/D27361
rdar://problem/29335809

llvm-svn: 288683
2016-12-05 18:04:47 +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 [Inliner] don't assume that a Constant alloca size is a ConstantInt (PR27277) 2016-05-09 21:51:53 +00:00
alloca-bonus.ll [InlineCost] Remove skew when calculating call costs 2016-11-14 11:14:41 +00:00
alloca-dbgdeclare-merge.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
alloca-dbgdeclare.ll [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
alloca-in-scc.ll
alloca-merge-align.ll
always-inline.ll [llvm] Remove redundant --check-prefix=CHECK from tests 2016-10-24 18:57:55 +00:00
array_merge.ll
array-alloca.ll Fix size computation of array allocation in inline cost analysis 2016-06-27 22:31:53 +00:00
attributes.ll Don't inline functions with different SafeStack attributes. 2016-05-10 00:33:07 +00:00
basictest.ll Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
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 Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
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-cconv.ll All llvm.deoptimize declarations must use the same calling convention 2016-05-12 01:17:38 +00:00
deoptimize-intrinsic.ll All llvm.deoptimize declarations must use the same calling convention 2016-05-12 01:17:38 +00:00
devirtualize-2.ll
devirtualize-3.ll Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
devirtualize.ll
dynamic_alloca_test.ll
ephemeral.ll [InlineCost] Reduce inline thresholds to compensate for cost changes 2016-11-28 11:07:37 +00:00
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
inalloca-not-static.ll [Inliner] Don't treat inalloca allocas as static 2016-08-12 22:23:04 +00:00
inline_cleanup.ll
inline_constprop.ll [CloneFunction] Don't remove unrelated nodes from the CGSSC 2016-08-19 16:37:40 +00:00
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_stats.ll Added ThinLTO inlining statistics 2016-07-29 00:27:16 +00:00
inline_unreachable-2.ll [InlineCost] Remove skew when calculating call costs 2016-11-14 11:14:41 +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 [InlineCost] Remove skew when calculating call costs 2016-11-14 11:14:41 +00:00
inline-cold.ll [InlineCost] Remove skew when calculating call costs 2016-11-14 11:14:41 +00:00
inline-constexpr-addrspacecast-argument.ll
inline-fast-math-flags.ll
inline-fp.ll [InlineCost] Reduce inline thresholds to compensate for cost changes 2016-11-28 11:07:37 +00:00
inline-funclets.ll Fix inliner funclet unwind memoization 2016-09-04 01:23:20 +00:00
inline-hot-callee.ll [InlineCost] Remove skew when calculating call costs 2016-11-14 11:14:41 +00:00
inline-hot-callsite.ll [InlineCost] Remove skew when calculating call costs 2016-11-14 11:14:41 +00:00
inline-indirect.ll
inline-invoke-tail.ll Upgrade old memset/memcpy signatures (without isVolatile argument) in tests 2016-06-22 15:16:06 +00:00
inline-invoke-with-asm-call.ll
inline-musttail-varargs.ll
inline-optnone.ll
inline-optsize.ll [InlineCost] Remove skew when calculating call costs 2016-11-14 11:14:41 +00:00
inline-tail.ll
inline-threshold.ll Allow -inline-threshold to override default threshold. 2016-05-19 23:02:09 +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
invoke_test-2.ll
invoke_test-3.ll
invoke-cleanup.ll
invoke-combine-clauses.ll
invoke-cost.ll
lifetime-no-datalayout.ll
lifetime.ll Inliner: Don't mark swifterror allocas with lifetime markers 2016-09-09 22:40:27 +00:00
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-passed-yaml.ll [InlineCost] Remove skew when calculating call costs 2016-11-14 11:14:41 +00:00
optimization-remarks-with-hotness.ll [Inliner,OptDiag] Add hotness attribute to opt diagnostics 2016-08-10 00:44:44 +00:00
optimization-remarks-yaml.ll [OptDiag] Remove non-printable chars from function name 2016-11-10 17:47:03 +00:00
optimization-remarks.ll [Inliner] Fold the analysis remark into the missed remark 2016-09-27 21:58:17 +00:00
parallel-loop-md.ll [Inliner] Preserve llvm.mem.parallel_loop_access metadata 2016-04-28 23:00:04 +00:00
partial-inline-act.ll Fix : Partial Inliner requires AssumptionCacheTracker 2016-07-25 05:00:00 +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
pr28298.ll Reinstate r273711 2016-06-25 00:04:10 +00:00
PR4909.ll [PM] Port PartialInlining to the new PM 2016-06-27 16:50:18 +00:00
profile-meta.ll add checks for 'unpredictable' metadata preservation 2016-03-16 18:15:34 +00:00
ptr-diff.ll [InlineCost] Remove skew when calculating call costs 2016-11-14 11:14:41 +00:00
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