llvm-6502/test/Transforms
Alexey Samsonov 881c8e0c9a [GVN] Set proper debug locations for some instructions created by GVN.
Determining proper debug locations for instructions created in
PHITransAddr is tricky. We use a simple approach here and simply copy
debug locations from instructions computing load address to
"corresponding" instructions re-creating the address computation
in predecessor basic blocks.

This may not always be correct, given all the rearrangement and
simplification going on, and debug locations may jump around a lot,
as the basic blocks we copy locations between may be very far from
each other.

Still, this would work good in most simple cases (e.g. when chain
of address computing instruction is short, or our mapping turns out
to be 1-to-1), and we desire to have *some* reasonable debug locations
associated with newly inserted instructions.

See http://reviews.llvm.org/D10351 review thread for more details.

Test Plan: regression test suite

Reviewers: spatel, dblaikie

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239479 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-10 17:37:38 +00:00
..
ADCE
AddDiscriminators
AlignmentFromAssumptions
ArgumentPromotion
AtomicExpand/ARM
BBVectorize Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
BDCE
BranchFolding
CodeExtractor
CodeGenPrepare Forgot to add lit.local.cfg for new R600 directory 2015-05-26 17:01:16 +00:00
ConstantHoisting
ConstantMerge
ConstProp [ConstantFolding] Fix wrong folding of intrinsic 'convert.from.fp16'. 2015-05-14 18:01:48 +00:00
CorrelatedValuePropagation [CVP] Don't assume Constants of type i1 can be known to be true or false 2015-06-06 04:56:51 +00:00
DeadArgElim
DeadStoreElimination
EarlyCSE Correct a mistaken comment from 238071 [NFC] 2015-05-23 00:05:43 +00:00
Float2Int
FunctionAttrs Remove conflicting attributes before adding deduced readonly/readnone 2015-05-25 19:46:38 +00:00
GCOVProfiling
GlobalDCE
GlobalOpt
GVN [GVN] Set proper debug locations for some instructions created by GVN. 2015-06-10 17:37:38 +00:00
IndVarSimplify Enable exitValue rewrite only when the cost of expansion is low. 2015-05-28 21:49:07 +00:00
Inline [inliner] Fix the early-exit of the inline cost analysis to correctly 2015-05-27 02:49:05 +00:00
InstCombine [InstCombine] Don't miscompile select to poison 2015-06-06 02:30:43 +00:00
InstMerge
InstSimplify [InstSimplify] Handle some overflow intrinsics in InstSimplify 2015-05-22 03:56:46 +00:00
Internalize
IPConstantProp
IRCE
JumpThreading [JumpThreading] Simplify comparisons when simplifying branches 2015-05-07 00:19:14 +00:00
LCSSA
LICM [LICM] Sinking doesn't involve the preheader 2015-05-22 02:14:05 +00:00
LoadCombine
LoopDeletion
LoopDistribute [LoopAccesses] Rearrange printed lines in -analyze 2015-05-18 15:36:57 +00:00
LoopIdiom Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
LoopInterchange
LoopReroll
LoopRotate
LoopSimplify [BasicBlockUtils] Set debug locations for instructions created in SplitBlockPredecessors. 2015-06-09 22:10:29 +00:00
LoopStrengthReduce Make the test introduced in r239015 more targeted. 2015-06-04 07:21:42 +00:00
LoopUnroll [LoopUnroll] Fix truncation bug in canUnrollCompletely. 2015-06-06 05:24:10 +00:00
LoopUnswitch Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
LoopVectorize [LoopVectorize] Teach Loop Vectorizor about interleaved memory accesses. 2015-06-08 06:39:56 +00:00
LowerAtomic
LowerBitSets Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
LowerExpectIntrinsic
LowerInvoke
LowerSwitch Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
Mem2Reg
MemCpyOpt [MemCpyOpt] Do move the memset, but look at its dest's dependencies. 2015-05-21 01:43:39 +00:00
MergeFunc MergeFunctions: Don't replace a weak function use by another equivalent weak function 2015-06-09 18:19:17 +00:00
MetaRenamer
NaryReassociate [NaryReassociate] Run EarlyCSE after NaryReassociate 2015-05-28 04:56:52 +00:00
ObjCARC
PartiallyInlineLibCalls
PhaseOrdering
PlaceSafepoints Add a GCStrategy for CoreCLR 2015-05-20 01:07:23 +00:00
PruneEH
Reassociate [Reassociate] Canonicalizing 'x [+-] (-Constant * y)' isn't always a win 2015-05-28 06:16:39 +00:00
Reg2Mem
RewriteStatepointsForGC [RewriteStatepointsForGC] Strip deref info after rewriting. 2015-06-02 22:33:37 +00:00
SampleProfile Add function entry counts from sample profiles. 2015-05-13 17:04:29 +00:00
Scalarizer
ScalarRepl
SCCP
SeparateConstOffsetFromGEP SeparateConstOffsetFromGEP: Pass address space to isLegalAddressingMode 2015-06-07 20:17:44 +00:00
SimplifyCFG [Statepoints] Add test case to check that statepoint is marked with Throwable attribute. 2015-06-10 13:24:00 +00:00
Sink Teach the IR Sink pass to (conservatively) respect convergent annotations. 2015-06-01 17:20:31 +00:00
SLPVectorizer Let llc and opt override "-target-cpu" and "-target-features" via command line 2015-05-06 23:54:14 +00:00
SpeculativeExecution Add a speculative execution pass 2015-05-15 17:54:48 +00:00
SROA
StraightLineStrengthReduce [SLSR] handle (B | i) * S 2015-05-15 17:07:48 +00:00
StripSymbols
StructurizeCFG
TailCallElim
TailDup
Util Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00