llvm-project/llvm/test/Transforms
Petr Hosek 39b3c41b65 [InstrProfiling] Use !associated metadata for counters, data and values
The !associated metadata may be attached to a global object declaration
with a single argument that references another global object. This
metadata prevents discarding of the global object in linker GC unless
the referenced object is also discarded.

Furthermore, when a function symbol is discarded by the linker, setting
up !associated metadata allows linker to discard counters, data and
values associated with that function symbol. This is not possible today
because there's metadata to guide the linker. This approach is also used
by other instrumentations like sanitizers.

Note that !associated metadata is only supported by ELF, it does not have
any effect on non-ELF targets.

Differential Revision: https://reviews.llvm.org/D76802
2020-06-08 13:35:56 -07:00
..
ADCE [ADCE] Fix incorrect reporting of CFG changes 2020-04-14 20:26:13 +07:00
AddDiscriminators
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 AllocaInst should store Align instead of MaybeAlign. 2020-05-16 14:53:16 -07:00
AtomicExpand Handle part-word LL/SC in atomic expansion pass 2020-04-28 10:07:39 -05:00
Attributor Reland [X86] Codegen for preallocated 2020-05-20 11:25:44 -07:00
BDCE
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
CanonicalizeFreezeInLoops [TargetPassConfig] Add CanonicalizeFreezeInLoops before LSR 2020-05-28 05:21:12 +09:00
CodeExtractor [CodeExtractor] Fix extraction of a value used only by intrinsics outside of region 2020-04-25 11:44:47 +03:00
CodeGenPrepare [Tests] Migrate a number of tests to gc-live bundle representation 2020-06-05 16:44:04 -07:00
ConstProp [ConstProp] Add test for bitcast to gep fold; NFC 2020-03-04 18:27:20 +01:00
ConstantHoisting
ConstantMerge
Coroutines CoroSplit: Fix coroutine splitting for retcon and retcon.once 2020-06-03 12:10:58 -07:00
CorrelatedValuePropagation StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
CrossDSOCFI
DCE Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
DeadArgElim Preserve DbgLoc when DeadArgumentElimination rewrites a 'ret'. 2020-05-29 10:00:33 -07:00
DeadStoreElimination [DSE] Remove noop stores in MSSA. 2020-05-30 09:57:30 -07:00
DivRemPairs [ValueTracking] Fix crash in isGuaranteedNotToBeUndefOrPoison when V is in an unreachable block 2020-05-13 10:16:47 +09:00
EarlyCSE [Tests] Migrate a number of tests to gc-live bundle representation 2020-06-05 16:44:04 -07: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 FixIrreducible: don't crash when moving a child loop 2020-04-22 07:47:30 +05:30
Float2Int
ForcedFunctionAttrs
FunctionAttrs Reland [X86] Codegen for preallocated 2020-05-20 11:25:44 -07:00
FunctionImport Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""" 2020-02-13 10:16:06 -08:00
GCOVProfiling [gcov] Improve tests and lower the minimum supported version to gcov 3.4 2020-06-06 23:11:32 -07:00
GVN Make Value::getPointerAlignment() return an Align, not a MaybeAlign. 2020-05-20 16:37:20 -07:00
GVNHoist
GVNSink Fix another instance where a variable was renamed in the generated LLVM IR. [NFC] 2020-03-23 22:53:29 -07:00
GlobalDCE
GlobalMerge
GlobalOpt Reland [X86] Codegen for preallocated 2020-05-20 11:25:44 -07:00
GlobalSplit
GuardWidening [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
HardwareLoops [HardwareLoops] llvm.loop.decrement.reg definition 2020-05-21 10:48:16 +01:00
HotColdSplit [HotColdSplit] Mark entire function cold when entry block is cold 2020-02-17 15:57:50 -08:00
IPConstantProp [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
IRCE Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
IndVarSimplify [IndVarSimplify][LoopUtils] Avoid TOCTOU/ordering issues (PR45835) 2020-05-21 13:05:55 +03:00
IndirectBrExpand
InferAddressSpaces AMDGPU: Handle rewriting ptrmask for more address spaces 2020-05-28 14:35:15 -04:00
InferFunctionAttrs [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
Inline Extend InvokeInst !prof branch_weights metadata to unwind branches 2020-06-04 15:37:15 +07:00
InstCombine [InstCombine] improve matching for sext-lshr-trunc patterns, part 2 2020-06-08 14:41:50 -04:00
InstMerge
InstNamer [InstNamer] use 'i' for Instructions, not 'tmp' 2020-06-01 11:11:14 -04:00
InstSimplify [InstSimplify] fix bug in matching or-with-not op (PR46083) 2020-06-03 13:44:29 -04:00
InterleavedAccess [Alignment] Fix misaligned interleaved loads 2020-05-27 12:12:22 +00:00
Internalize
JumpThreading Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
LCSSA
LICM [FPEnv] Intrinsic llvm.roundeven 2020-05-26 19:24:58 +07:00
LoadStoreVectorizer LoadStoreVectorizer: Match nested adds to prove vectorization is safe 2020-05-18 12:13:01 -07:00
LoopDataPrefetch
LoopDeletion
LoopDistribute
LoopFusion Revert "[llvm][test] Add COM: directives before colon-less non-CHECKs in comments. NFC" 2020-05-22 05:36:15 -06:00
LoopIdiom StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
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
LoopReroll [LoopReroll] Fix rerolling loop with use outside the loop 2020-05-13 13:03:03 +09:00
LoopRotate [LoopRotate] Cleanup test checks to fix issue reported on D77354 2020-04-03 17:21:37 +01:00
LoopSimplify [LoopSimplify] don't separate nested loops with convergent calls 2020-05-19 09:22:39 +05:30
LoopSimplifyCFG
LoopStrengthReduce [NFC] Move test vscale-factor-out-constant.ll to AArch64 sub-directory. 2020-06-04 12:55:28 -07:00
LoopTransformWarning
LoopUnroll [AMDGPU] Increase max iterations count to analyze complete unroll 2020-06-06 16:32:45 +03:00
LoopUnrollAndJam [UnJ] Update LI for inner nested loops 2020-05-27 14:36:38 +01:00
LoopUnswitch
LoopVectorize [x86] form reduction intrinsics from vectorizers instead of raw IR 2020-06-05 12:38:49 -04:00
LoopVersioning [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
LoopVersioningLICM
LowerAtomic
LowerConstantIntrinsics
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [llvm] [MatrixIntrinsics] Add row-major support for llvm.matrix.transpose 2020-05-28 12:13:32 -07:00
LowerSwitch
LowerTypeTests
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg
MemCpyOpt Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
MergeFunc Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
MergeICmps
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN [NewGVN] Add test to ensure metadata is preserved for ssa_copy (NFC) 2020-06-03 19:30:03 +01:00
ObjCARC [ObjC][ARC] Don't remove autoreleaseRV/retainRV pairs if the call isn't 2020-03-13 13:52:14 -07:00
OpenMP [OpenMP] Replace Clang's OpenMP RTL Definitions with OMPKinds.def 2020-06-01 16:23:10 -04:00
PGOProfile [InstrProfiling] Use !associated metadata for counters, data and values 2020-06-08 13:35:56 -07:00
PartiallyInlineLibCalls
PhaseOrdering [x86] form reduction intrinsics from vectorizers instead of raw IR 2020-06-05 12:38:49 -04:00
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH
Reassociate [Reassociate] Teach ConvertShiftToMul to preserve nsw flag if the shift amount is not bitwidth - 1. 2020-06-04 14:51:34 -07:00
Reg2Mem
RewriteStatepointsForGC [Statepoint] Switch RS4GC to using gc-live bundle form 2020-06-04 15:49:11 -07:00
SCCP [SCCP] Switch to widen at PHIs, stores and call edges. 2020-05-29 11:59:17 +01:00
SLPVectorizer [x86] form reduction intrinsics from vectorizers instead of raw IR 2020-06-05 12:38:49 -04:00
SROA Temporarily removed unstable test. NFC. 2020-06-01 10:18:54 -07:00
SafeStack [Instruction] Set metadata uses to undef on deletion 2020-05-21 15:58:12 -07:00
SampleProfile [gcov] Delete XFAIL: host-byteorder-big-endian 2020-06-03 19:58:28 -07:00
ScalarizeMaskedMemIntrin/X86
Scalarizer [Scalarizer] Fix a non-deterministic scatter order problem 2020-04-20 16:05:33 +02:00
SeparateConstOffsetFromGEP Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
SimpleLoopUnswitch [SimpleLoopUnswitch] Drop uses of instructions before block deletion 2020-05-27 18:25:18 +07:00
SimplifyCFG [InstCombine] Sink pure instructions down to return and unreachable blocks 2020-05-22 14:33:42 +07:00
Sink
SpeculateAroundPHIs [NFC] Update tests 2020-05-05 15:28:40 +01:00
SpeculativeExecution
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG [StructurizeCFG] Fix region nodes ordering 2020-06-01 12:50:35 +03:00
SyntheticCountsPropagation
TailCallElim [TRE] Allow accumulator elimination when base case returns non-constant 2020-06-04 10:34:42 -07:00
ThinLTOBitcodeWriter ThinLTOBitcodeWriter: drop dso_local when a GlobalVariable is converted to a declaration 2020-03-05 18:09:33 -08:00
TypePromotion/ARM
UnifyLoopExits Introduce unify-loop-exits pass. 2020-03-30 13:23:56 -04:00
UniqueInternalLinkageNames New pass to make internal linkage symbol names unique. 2020-04-20 15:05:22 -07:00
Util [Tests] Migrate a number of tests to gc-live bundle representation 2020-06-05 16:44:04 -07:00
VectorCombine/X86 [VectorCombine] Add multi-use shl test for D80885 2020-06-03 19:42:15 +01:00
WholeProgramDevirt [WPD] Avoid noalias assumptions in unique return value optimization 2020-04-16 14:49:51 -07:00