1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/test/Transforms
Duncan P. N. Exon Smith 380b5bd2b0 DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable
Remove 'inlinedAt:' from MDLocalVariable.  Besides saving some memory
(variables with it seem to be single largest `Metadata` contributer to
memory usage right now in -g -flto builds), this stops optimization and
backend passes from having to change local variables.

The 'inlinedAt:' field was used by the backend in two ways:

 1. To tell the backend whether and into what a variable was inlined.
 2. To create a unique id for each inlined variable.

Instead, rely on the 'inlinedAt:' field of the intrinsic's `!dbg`
attachment, and change the DWARF backend to use a typedef called
`InlinedVariable` which is `std::pair<MDLocalVariable*, MDLocation*>`.
This `DebugLoc` is already passed reliably through the backend (as
verified by r234021).

This commit removes the check from r234021, but I added a new check
(that will survive) in r235048, and changed the `DIBuilder` API in
r235041 to require a `!dbg` attachment whose 'scope:` is in the same
`MDSubprogram` as the variable's.

If this breaks your out-of-tree testcases, perhaps the script I used
(mdlocalvariable-drop-inlinedat.sh) will help; I'll attach it to PR22778
in a moment.

llvm-svn: 235050
2015-04-15 22:29:27 +00:00
..
ADCE
AddDiscriminators DebugInfo: Fix testcases that fail -verify-debug-info=true 2015-03-16 21:10:12 +00:00
AlignmentFromAssumptions
ArgumentPromotion DebugInfo: Fix testcases that fail -verify-debug-info=true 2015-03-16 21:10:12 +00:00
AtomicExpand/ARM
BBVectorize
BDCE
BranchFolding
CodeExtractor
CodeGenPrepare [InstCombine][CodeGenPrep] Create llvm.uadd.with.overflow in CGP. 2015-04-10 21:07:09 +00:00
ConstantHoisting
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim DebugInfo: Add missing !dbg attachments to intrinsics 2015-04-15 21:04:10 +00:00
DeadStoreElimination DebugInfo: Add missing !dbg attachments to intrinsics 2015-04-15 21:04:10 +00:00
EarlyCSE
Float2Int Reapply r233175 and r233183: float2int. 2015-03-27 10:36:57 +00:00
FunctionAttrs
GCOVProfiling DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
GlobalDCE
GlobalOpt Verifier: Call verifyModule() from llc and opt 2015-03-27 22:04:28 +00:00
GVN !invariant.load semantics with potentially clobbering calls 2015-03-24 23:54:54 +00:00
IndVarSimplify [SCEV] Strengthen SCEVExpander::isHighCostExpansion. 2015-04-14 03:20:32 +00:00
Inline DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
InstCombine Subtraction is not commutative. Fixes PR23212! 2015-04-13 19:17:37 +00:00
InstMerge
InstSimplify Add a bunch of CHECK missing colons in tests. NFC. 2015-03-14 01:43:57 +00:00
Internalize
IPConstantProp
IRCE [IRCE] Fix a regression introduced in r232444. 2015-03-24 19:29:18 +00:00
JumpThreading
LCSSA
LICM Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
LoadCombine
LoopDeletion
LoopIdiom DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
LoopInterchange
LoopReroll
LoopRotate DebugInfo: Add missing !dbg attachments to intrinsics 2015-04-15 21:04:10 +00:00
LoopSimplify Verifier: Call verifyModule() from llc and opt 2015-03-27 22:04:28 +00:00
LoopStrengthReduce DebugInfo: Add missing !dbg attachments to intrinsics 2015-04-15 21:04:10 +00:00
LoopUnroll [LoopUnrollRuntime] Avoid high-cost trip count computation. 2015-04-14 03:20:38 +00:00
LoopUnswitch
LoopVectorize DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
LowerAtomic
LowerBitSets LowerBitSets: Avoid reusing byte set addresses. 2015-03-19 22:02:10 +00:00
LowerExpectIntrinsic
LowerInvoke Verifier: Call verifyModule() from llc and opt 2015-03-27 22:04:28 +00:00
LowerSwitch
Mem2Reg DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
MemCpyOpt
MergeFunc
MetaRenamer
NaryReassociate Simplify n-ary adds by reassociation 2015-04-14 04:59:22 +00:00
ObjCARC DebugInfo: Add missing !dbg attachments to intrinsics 2015-04-15 21:04:10 +00:00
PartiallyInlineLibCalls
PhaseOrdering
PlaceSafepoints
PruneEH
Reassociate Reapply "[Reassociate] Add initial support for vector instructions." 2015-03-13 20:53:01 +00:00
Reg2Mem
RewriteStatepointsForGC [RewriteStatepointsForGC] test case missing from 234657 2015-04-10 22:58:39 +00:00
SampleProfile DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
Scalarizer DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
ScalarRepl DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
SCCP
SeparateConstOffsetFromGEP/NVPTX
SimplifyCFG Verifier: Call verifyModule() from llc and opt 2015-03-27 22:04:28 +00:00
Sink
SLPVectorizer DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
SROA [ConstantFold] Don't fold ppc_fp128 <-> int bitcasts 2015-03-28 16:44:57 +00:00
StraightLineStrengthReduce [NFC] [SLSR] clean up some tests 2015-04-15 17:14:03 +00:00
StripSymbols DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
StructurizeCFG
TailCallElim
TailDup
Util [SwitchLowering] Remove incoming values in the reverse order 2015-03-17 18:03:10 +00:00