llvm-project/llvm/test/Transforms
Florian Hahn 8dbe44cb29 Add pass to add !annotate metadata from @llvm.global.annotations.
This patch adds a new pass to add !annotation metadata for entries in
@llvm.global.anotations, which is generated  using
__attribute__((annotate("_name"))) on functions in Clang.

This has been discussed on llvm-dev as part of
    RFC: Combining Annotation Metadata and Remarks
    http://lists.llvm.org/pipermail/llvm-dev/2020-November/146393.html

Reviewed By: thegameg

Differential Revision: https://reviews.llvm.org/D91195
2020-11-16 14:57:11 +00:00
..
ADCE
AddDiscriminators
AggressiveInstCombine Revert "[AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts" 2020-11-04 08:39:32 +02:00
AlignmentFromAssumptions Reland [AssumeBundles] Use operand bundles to encode alignment assumptions 2020-09-12 15:36:06 +02:00
ArgumentPromotion [test] Simplify pr33641_remove_arg_dbgvalue.ll 2020-10-23 15:36:05 -07:00
AtomicExpand [AtomicExpand] Avoid creating an unnamed libcall 2020-11-02 17:52:37 +00:00
Attributor [LazyCallGraph] Build SCCs of the reference graph in order 2020-11-02 13:22:42 -08:00
BDCE [DemandedBits][BDCE] Add support for min/max intrinsics 2020-09-10 22:13:31 +02:00
BlockExtractor [BlockExtract][NewPM] Port -extract-blocks to NPM 2020-10-21 12:51:11 -07:00
BranchFolding
CallSiteSplitting
CalledValuePropagation
CanonicalizeAliases
CanonicalizeFreezeInLoops
CodeExtractor Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
CodeGenPrepare [CodeGenPrepare] Remove unused check-prefixes 2020-11-09 13:12:39 +00:00
ConstantHoisting [test] Fix const-addr-no-neg-offset.ll under NPM 2020-11-13 23:29:58 -08:00
ConstantMerge
ConstraintElimination [ConstraintElimination] Add add/sub/and/or test cases. 2020-10-13 13:18:32 +01:00
Coroutines [Coroutines] Make sure that async coroutine context size is a multiple of the alignment requirement 2020-11-14 04:56:56 -08:00
CorrelatedValuePropagation Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
CrossDSOCFI
DCE [DCE] Port -redundant-dbg-inst-elim to NPM 2020-11-14 16:55:20 -08:00
DeadArgElim [IR] Make nosync, nofree and willreturn default for intrinsics. 2020-10-20 11:57:19 +02:00
DeadStoreElimination [DeadStoreElimination] Remove unused check-prefixes 2020-11-09 17:21:28 +00:00
DivRemPairs
EarlyCSE [EarlyCSE] delete abs/nabs handling 2020-11-10 21:10:58 -05:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp
FixIrreducible [FixIrreducible][NewPM] Port -fix-irreducible to NPM 2020-10-09 09:22:09 -07:00
Float2Int
ForcedFunctionAttrs Force Remove Attribute 2020-08-19 17:30:13 -04:00
FunctionAttrs
FunctionImport [CGProfile] allows bitcast in metadata node storing function pointers 2020-11-13 09:28:21 -08:00
GCOVProfiling [gcov] Add spanning tree optimization 2020-09-13 00:07:31 -07:00
GVN [GVN] Remove unused check-prefixes 2020-11-08 13:36:42 +00:00
GVNHoist [EarlyCSE] Verify hash code in regression tests 2020-09-04 10:40:35 -04:00
GVNSink [GVNSink][NewPM] Add GVNSinkPass to PassRegistry.def 2020-09-22 08:24:09 -07:00
GlobalDCE
GlobalMerge
GlobalOpt [globalopt] Teach to look through `addrspacecast`. 2020-10-16 08:43:09 -04:00
GlobalSplit
GuardWidening [NewPM][GuardWidening] Fix loop guard widening tests under NPM 2020-08-06 15:32:59 -07:00
HardwareLoops [ARM] Add a RegAllocHint for hinting t2DoLoopStart towards LR 2020-11-10 16:28:57 +00:00
HelloNew Reland [docs][NewPM] Add docs for writing NPM passes 2020-09-14 16:06:19 -07:00
HotColdSplit [test] HotColdSplit: cover use of opaque pointer type 2020-10-22 12:25:50 -07:00
IRCE [IRCE] Use the same min runtime iteration threshold for BPI and BFI checks 2020-11-16 09:21:50 +07:00
IndVarSimplify [Test] More tests on range checks 2020-11-16 20:10:10 +07:00
IndirectBrExpand
InferAddressSpaces InferAddressSpaces: Fix assert with unreachable code 2020-09-15 15:48:43 -04:00
InferFunctionAttrs Make inferLibFuncAttributes() add SExt attribute on second arg to ldexp. 2020-11-10 18:32:15 +01:00
Inline [AlwaysInliner] Call mergeAttributesForInlining after inlining 2020-11-13 12:01:35 -08:00
InstCombine [InstCombine] reduce code for flip of masked bit; NFC 2020-11-15 15:43:34 -05:00
InstMerge
InstNamer Port -instnamer to NPM 2020-10-22 12:08:36 -07:00
InstSimplify [ConstProp] Remove unused check-prefixes 2020-11-09 13:12:40 +00:00
InterleavedAccess [InterleavedAccess] Remove unused check-prefixes 2020-11-09 13:12:40 +00:00
Internalize
JumpThreading [JumpThreading] Call eraseBlock when folding a conditional branch 2020-11-15 22:29:30 -08:00
LCSSA [NewPM][LoopUnswitch] Pin loop-unswitch to legacy PM or use simple-loop-unswitch 2020-08-06 10:56:00 -07:00
LICM Revert "[LoopDeletion] Allows deletion of possibly infinite side-effect free loops" 2020-11-07 00:32:12 -05:00
LoadStoreVectorizer Revert "Revert "[AMDGPU] Reorganize GCN subtarget features for unaligned access"" 2020-11-11 14:40:14 +00:00
LoopDataPrefetch
LoopDeletion Revert "[LoopDeletion] Allows deletion of possibly infinite side-effect free loops" 2020-11-07 00:32:12 -05:00
LoopDistribute [LoopVersioning] Form dedicated exits for versioned loop to preserve simplify form 2020-10-24 21:40:46 +08:00
LoopFlatten [LoopFlatten] Widen the IV 2020-11-16 10:20:13 +00:00
LoopFusion [SCEV] Fix nsw flags for GEP expressions 2020-11-13 18:19:32 +01:00
LoopIdiom [NFC][LoopIdiom] Add basic test coverage for 'left-shift until bittest` idiom 2020-11-08 22:35:41 +03:00
LoopInstSimplify
LoopInterchange [LoopInterchange] Skip non SCEV-able operands in cost function. 2020-11-08 11:41:19 +00:00
LoopLoadElim [Test] Add Check statement 2020-11-12 10:47:34 +07:00
LoopPredication
LoopReroll [SCEV] Strength nowrap flags after constant folding 2020-10-25 18:00:22 +01:00
LoopRotate [LoopRotate][NPM] Disable header duplication under -Oz 2020-10-22 08:39:12 -07:00
LoopSimplify [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
LoopSimplifyCFG [LoopSimplifyCFG][NewPM] Rename simplify-cfg -> loop-simplifycfg 2020-09-21 08:27:19 -07:00
LoopStrengthReduce [SCEV] SCEVPtrToIntExpr simplifications 2020-10-30 11:13:35 +03:00
LoopTransformWarning
LoopUnroll [CostModel] make default size cost for libcalls small (again) 2020-11-14 08:15:35 -05:00
LoopUnrollAndJam [LoopUnrollAndJam] Allow unroll and jam loops forced by user. 2020-09-17 19:40:14 +00:00
LoopUnswitch Reland "[LoopUnswitch] Fix incorrect Modified status" 2020-08-20 11:52:09 +02:00
LoopVectorize [InstCombine] add multi-use demanded bits fold for add with low-bit mask 2020-11-15 15:09:49 -05:00
LoopVersioning [LoopVersioning] Form dedicated exits for versioned loop to preserve simplify form 2020-10-24 21:40:46 +08:00
LoopVersioningLICM [NPM] Port -loop-versioning-licm to NPM 2020-10-24 21:51:18 +08:00
LowerAtomic
LowerConstantIntrinsics
LowerExpectIntrinsic Revert "clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM" 2020-11-14 13:12:38 +03:00
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [LowerMatrixIntrinsics][NewPM] Fix PreservedAnalyses result 2020-10-21 12:42:16 -07:00
LowerSwitch [LowerSwitch][NewPM] Port lowerswitch to NPM 2020-09-15 18:18:31 -07:00
LowerTypeTests [AArch64] Add BTI to CFI jumptables. 2020-09-29 13:50:23 +02:00
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg
MemCpyOpt [MemCpyOpt] Remove unused check-prefixes 2020-11-09 12:18:20 +00:00
MergeFunc [MergeFunctions] fix function attribute comparison in FunctionComparator 2020-11-09 09:19:11 +00:00
MergeICmps
MetaRenamer [MetaRenamer][NewPM] Port metarenamer to NPM 2020-10-02 15:42:25 -07:00
NameAnonGlobals
NaryReassociate [EarlyCSE] Verify hash code in regression tests 2020-09-04 10:40:35 -04:00
NewGVN [NewGVN] Remove unused check-prefixes 2020-11-09 12:18:19 +00:00
ObjCARC [ObjC][ARC] Clear the lists of basic blocks and instructions before 2020-11-12 22:20:02 -08:00
OpenMP [LazyCallGraph] Build SCCs of the reference graph in order 2020-11-02 13:22:42 -08:00
PGOProfile Revert "clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM" 2020-11-14 13:12:38 +03:00
PartialInlining [PartialInliner]: Handle code regions in a switch stmt cases 2020-11-02 14:32:45 -05:00
PartiallyInlineLibCalls
PhaseOrdering [InstCombine] add multi-use demanded bits fold for add with low-bit mask 2020-11-15 15:09:49 -05:00
PlaceSafepoints [PlaceSafepoints] Pin tests to legacy PM 2020-10-26 20:07:37 -07:00
PreISelIntrinsicLowering
PruneEH [PruneEH] Pin tests to legacy PM 2020-10-29 18:17:55 -07:00
Reassociate [Reassociate] Guard `add`-like `or` conversion into an `add` with profitability check 2020-11-04 16:10:34 +03:00
Reg2Mem [Reg2Mem] add support for the new pass manager 2020-11-08 11:14:05 +00:00
RewriteStatepointsForGC GC-parseable element atomic memcpy/memmove 2020-10-23 14:06:09 -07:00
SCCP Revert "[LoopDeletion] Allows deletion of possibly infinite side-effect free loops" 2020-11-07 00:32:12 -05:00
SLPVectorizer [SLPVectorizer][X86] Remove unused check-prefixes 2020-11-09 11:17:08 +00:00
SROA Fix SROA with a PHI mergig values from a same block 2020-10-26 12:58:27 -07:00
SafeStack [SafeStack] Make sure SafeStack does not break musttail call contract 2020-11-10 20:46:05 -08:00
SampleProfile Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
ScalarizeMaskedMemIntrin [ScalarizeMaskedMemIntrin][X86] Refresh missed transform test cases from rGc0c3b9a25fee 2020-08-10 11:14:01 +01:00
Scalarizer [Scalarizer] Remove unused check-prefixes 2020-11-09 10:37:17 +00:00
SeparateConstOffsetFromGEP [NewPM] Port -separate-const-offset-from-gep 2020-11-09 17:42:36 -08:00
SimpleLoopUnswitch Revert "[LoopDeletion] Allows deletion of possibly infinite side-effect free loops" 2020-11-07 00:32:12 -05:00
SimplifyCFG [SimplifyCFG] Remove unused check-prefixes 2020-11-09 10:37:18 +00:00
Sink Sink: Handle instruction sink when a user is dead 2020-10-09 16:20:26 -07:00
SpeculateAroundPHIs
SpeculativeExecution
StraightLineStrengthReduce [NPM] Port -slsr to NPM 2020-10-27 09:21:40 +08:00
StripDeadPrototypes
StripSymbols [NewPM] Port strip* passes to NPM 2020-09-15 18:25:12 -07:00
StructurizeCFG [StructurizeCFG][NewPM] Port -structurizecfg to NPM 2020-10-23 15:54:03 -07:00
SyntheticCountsPropagation
TailCallElim
ThinLTOBitcodeWriter
TypePromotion/ARM
UnifyFunctionExitNodes [NPM] Port -mergereturn to NPM 2020-10-20 10:33:58 -07:00
UnifyLoopExits [NPM] port -unify-loop-exits to NPM 2020-10-20 10:46:57 -07:00
UniqueInternalLinkageNames [NewPM] Add unique-internal-linkage-names to PassRegistry.def 2020-11-09 12:54:13 -08:00
Util Add pass to add !annotate metadata from @llvm.global.annotations. 2020-11-16 14:57:11 +00:00
VectorCombine [VectorCombine][X86] Removed unused check prefixes 2020-11-06 17:27:12 +00:00
WholeProgramDevirt [WholeProgramDevirt][NewPM] Add NPM testing path to match legacy pass 2020-09-30 17:27:37 -07:00