llvm-project/llvm/test/Transforms
Davide Italiano 5f87415efc [LICM] Try to merge debug locations when sinking.
The current strategy LICM uses when sinking for debuginfo is
that of picking the debug location of one of the uses.
This causes stepping to be wrong sometimes, see, e.g. PR45523.

This patch introduces a generalization of getMergedLocation(),
that operates on a vector of locations instead of two, and try
to merge all them together, and use the new API in LICM.

<rdar://problem/61750950>
2020-04-15 12:29:34 -07:00
..
ADCE [ADCE] Fix incorrect reporting of CFG changes 2020-04-14 20:26:13 +07:00
AddDiscriminators Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
AggressiveInstCombine [AggressiveInstCombine] Add test with baseline CHECKs for aggressive inst combine for ICmp instruction. 2020-02-12 15:09:38 +02:00
AlignmentFromAssumptions [AlignmentFromAssumptions] Fix a SCEV assertion resulting from address space differences. 2020-03-29 01:26:31 -05:00
ArgumentPromotion Make IRBuilder automatically set alignment on load/store/alloca. 2020-04-13 13:43:14 -07:00
AtomicExpand [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
Attributor Add FileCheck colons missed in D76210 2020-04-15 12:26:53 -06:00
BDCE Clang-trunk Generates Wrong Debug values with -O1 2019-11-21 13:53:10 -08:00
BlockExtractor Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""" 2020-02-13 10:16:06 -08:00
BranchFolding
CallSiteSplitting [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
CalledValuePropagation
CanonicalizeAliases
CodeExtractor [CodeExtractor] Fix typo in check label to fix issue reported on D77354 2020-04-08 14:59:15 +01:00
CodeGenPrepare [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall 2020-03-31 11:55:51 -07:00
ConstProp [ConstProp] Add test for bitcast to gep fold; NFC 2020-03-04 18:27:20 +01:00
ConstantHoisting Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
ConstantMerge
Coroutines [Coroutines] Remove alignment check in shouldBeMustTail 2020-04-07 09:07:34 +08:00
CorrelatedValuePropagation [ConstantRange] Use APInt::or/APInt::and for single elements. 2020-04-01 09:50:24 +01:00
CrossDSOCFI
DCE [AssumeBundles] preserve knowledge in DCE 2020-04-14 12:48:15 +02:00
DeadArgElim [NFC] Fix trivial typos in comments 2020-01-06 10:50:26 +00:00
DeadStoreElimination [DSE,MSSA] Add use of alloca, to guard against removal in the future. 2020-04-15 15:23:43 +01:00
DivRemPairs [DivRemPairs] Freeze operands if they can be undef values 2020-03-25 03:46:14 +09:00
EarlyCSE [AssumeBundles] Preserve information in EarlyCSE 2020-03-31 17:47:04 +02:00
EliminateAvailableExternally
EntryExitInstrumenter [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
ExpandMemCmp [ExpandMemCmp] Allow overlaping loads in the zero-relational case. 2020-04-02 11:20:47 +02:00
FixIrreducible Introduce fix-irreducible pass 2020-04-15 15:05:51 +05:30
Float2Int
ForcedFunctionAttrs
FunctionAttrs [Attributor] Copy or port test cases related to Attributor to` Attributor` test folder 2019-12-02 15:36:29 +00:00
FunctionImport Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""" 2020-02-13 10:16:06 -08:00
GCOVProfiling Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""" 2020-02-13 10:16:06 -08:00
GVN [GVN] Fix VNCoercion for Scalable Vector. 2020-04-10 17:49:07 -07:00
GVNHoist Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
GVNSink Fix another instance where a variable was renamed in the generated LLVM IR. [NFC] 2020-03-23 22:53:29 -07:00
GlobalDCE [WPD/VFE] Always emit vcall_visibility metadata for -fwhole-program-vtables 2020-01-23 11:36:01 -08:00
GlobalMerge
GlobalOpt [GlobalOpt] Explicitly set alignment of bool load/store operations. 2020-04-12 16:03:12 -07:00
GlobalSplit [WPD/VFE] Always emit vcall_visibility metadata for -fwhole-program-vtables 2020-01-23 11:36:01 -08:00
GuardWidening [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
HardwareLoops
HotColdSplit [HotColdSplit] Mark entire function cold when entry block is cold 2020-02-17 15:57:50 -08:00
IPConstantProp [SCCP] Do not mark unknown loads as overdefined. 2020-02-20 22:48:58 +01:00
IRCE [IRCE] Use SCEVExpander to modify loop bound 2020-02-06 12:44:43 +03:00
IndVarSimplify Revert "[SCEV] rewriteLoopExitValues(): even if have hard uses, still rewrite if cheap (PR44668)" 2020-04-03 20:15:04 +03:00
IndirectBrExpand
InferAddressSpaces
InferFunctionAttrs [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
Inline Revert "[TLI] Per-function fveclib for math library used for vectorization" 2020-04-11 01:05:01 +00:00
InstCombine [InstCombine] prevent infinite loop with sub/abs of constant expression 2020-04-15 09:19:16 -04:00
InstMerge
InstNamer
InstSimplify [InstSimplify] add test for select that should not be simplified; NFC 2020-04-14 13:57:30 -04:00
InterleavedAccess [ARM] Disable VLD4 under MVE 2019-12-08 10:37:29 +00:00
Internalize
JumpThreading Fix MSan false positive due to select folding. 2020-03-31 15:25:42 -07:00
LCSSA [SSAUpdater] Don't call ValueIsRAUWd upon single use replacement 2020-01-23 15:53:53 +07:00
LICM [LICM] Try to merge debug locations when sinking. 2020-04-15 12:29:34 -07:00
LoadStoreVectorizer AMDGPU: Fix broken check lines 2020-04-01 10:52:22 -07:00
LoopDataPrefetch
LoopDeletion
LoopDistribute
LoopFusion [LoopFusion] Move instructions from FC1.GuardBlock to FC0.GuardBlock and 2020-01-30 18:02:22 +00:00
LoopIdiom
LoopInstSimplify
LoopInterchange [llvm] Fix yet more missing FileCheck colons 2020-04-13 10:49:19 -06:00
LoopLoadElim [LoopLoadElim] Fix crash by always checking simplify form 2020-04-10 09:23:28 +07:00
LoopPredication [BasicBlock] fix looping in getPostdominatingDeoptimizeCall 2020-01-17 15:40:02 +03:00
LoopReroll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
LoopRotate [LoopRotate] Cleanup test checks to fix issue reported on D77354 2020-04-03 17:21:37 +01:00
LoopSimplify [LoopSimplify] Regenerate test checks; NFC 2020-01-11 11:02:24 +01:00
LoopSimplifyCFG
LoopStrengthReduce [LoopStrengthReduce] Fix test checks to fix issue reported on D77227 2020-04-03 18:10:33 +01:00
LoopTransformWarning
LoopUnroll [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
LoopUnrollAndJam [llvm] Make new pass manager's OptimizationLevel a class 2020-01-16 09:00:56 -08:00
LoopUnswitch
LoopVectorize [LV] Fix PR45525: Incorrect assert in blend recipe 2020-04-15 10:39:07 +03:00
LoopVersioning
LoopVersioningLICM
LowerAtomic
LowerConstantIntrinsics
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [Matrix] Add option to use row-major matrix layout as default. 2020-04-06 10:00:56 +01:00
LowerSwitch
LowerTypeTests
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg
MemCpyOpt [ValueTracking] Fix usage of DataLayout::getTypeStoreSize() 2020-03-20 16:52:15 -07:00
MergeFunc [NewPM] Port MergeFunctions pass 2020-01-14 20:55:41 +01:00
MergeICmps Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN [AssumeBundles] preserve information in NewGVN 2020-04-14 12:48:14 +02:00
ObjCARC [ObjC][ARC] Don't remove autoreleaseRV/retainRV pairs if the call isn't 2020-03-13 13:52:14 -07:00
OpenMP [AbstractCallSite] Check that callback callee index is within call arguments 2020-04-14 09:24:00 -07:00
PGOProfile [CallSite Removal] a CallBase is never an IndirectCall for isInlineAsm 2020-04-06 16:14:46 -07:00
PartiallyInlineLibCalls
PhaseOrdering [InstCombine] convert bitcast-shuffle to vector trunc 2020-04-05 09:48:02 -04:00
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH
Reassociate [Reassociate] add testcases for more than 1 pairs - NFC 2020-03-19 05:21:24 -04:00
Reg2Mem
RewriteStatepointsForGC [RS4GC] Handle uses of extractelement for conversion from vector to scalar base 2020-03-06 16:28:49 -05:00
SCCP Recommit "[SCCP] Use SimplifyBinOp for non-integer constant/expressions & overdef." 2020-04-14 11:48:52 +01:00
SLPVectorizer Allow disabling of vectorization using internal options 2020-04-14 18:09:10 -07:00
SROA Make IRBuilder automatically set alignment on load/store/alloca. 2020-04-13 13:43:14 -07:00
SafeStack Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
SampleProfile [SampleFDO] Port MD5 name table support to extbinary format. 2020-03-30 22:07:08 -07:00
ScalarizeMaskedMemIntrin/X86
Scalarizer Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
SeparateConstOffsetFromGEP Fix PR45371: SeparateConstOffsetFromGEP clean up bookkeeping 2020-04-01 12:38:15 -06:00
SimpleLoopUnswitch Revert "[SimpleLoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison" 2020-02-28 11:10:46 +09:00
SimplifyCFG Fix lifetime call in landingpad blocking Simplifycfg pass 2020-04-09 13:07:32 -07:00
Sink
SpeculateAroundPHIs
SpeculativeExecution
StraightLineStrengthReduce Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
StripDeadPrototypes
StripSymbols
StructurizeCFG Introduce fix-irreducible pass 2020-04-15 15:05:51 +05:30
SyntheticCountsPropagation
TailCallElim
ThinLTOBitcodeWriter ThinLTOBitcodeWriter: drop dso_local when a GlobalVariable is converted to a declaration 2020-03-05 18:09:33 -08:00
TypePromotion/ARM Revert "[ARM][TypePromotion] Enable by default" 2019-12-22 11:27:11 -08:00
UnifyLoopExits Introduce unify-loop-exits pass. 2020-03-30 13:23:56 -04:00
Util Add option to limit Debugify to locations (omitting variables) 2020-04-06 15:04:55 -07:00
VectorCombine/X86 [VectorCombine] try to form a better extractelement 2020-04-03 13:55:13 -04:00
WholeProgramDevirt [WPD] Provide a way to prevent functions from being devirtualized 2020-03-09 14:05:15 +03:00