1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/Transforms
Johannes Doerfert 31d276a1c1 [Attributor] Use knowledge retained in llvm.assume (operand bundles)
This patch integrates operand bundle llvm.assumes [0] with the
Attributor. Most IRAttributes will now look at uses of the associated
value and if there are llvm.assume operand bundle uses with the right
tag we will check if they are in the must-be-executed-context (around
the context instruction). Droppable users, which is currently only
llvm::assume, are handled special in some places now as well.

[0] http://lists.llvm.org/pipermail/llvm-dev/2019-December/137632.html

Reviewed By: uenoku

Differential Revision: https://reviews.llvm.org/D74888
2020-03-24 15:33:40 -05:00
..
ADCE
AddDiscriminators
AggressiveInstCombine [AggressiveInstCombine] Add test with baseline CHECKs for aggressive inst combine for ICmp instruction. 2020-02-12 15:09:38 +02:00
AlignmentFromAssumptions
ArgumentPromotion
AtomicExpand
Attributor [Attributor] Use knowledge retained in llvm.assume (operand bundles) 2020-03-24 15:33:40 -05:00
BDCE
BlockExtractor Revert "Revert "Reland "[Support] make report_fatal_error abort instead of exit""" 2020-02-13 10:16:06 -08:00
BranchFolding
CalledValuePropagation
CallSiteSplitting
CanonicalizeAliases
CodeExtractor [LoopExtractor] Convert LoopExtractor from LoopPass to ModulePass 2020-02-09 12:25:21 +02:00
CodeGenPrepare [CodeGenPrepare] Freeze condition when transforming select to br 2020-03-16 12:46:20 +09:00
ConstantHoisting
ConstantMerge
ConstProp [ConstProp] Add test for bitcast to gep fold; NFC 2020-03-04 18:27:20 +01:00
Coroutines [Coroutines] Also check lifetime intrinsic for local variable when build 2020-03-24 13:41:55 +08:00
CorrelatedValuePropagation [ValueLattice] Add singlecrfromundef lattice value. 2020-03-15 11:23:46 +00:00
CrossDSOCFI
DCE
DeadArgElim
DeadStoreElimination [DSE,MSSA] Precommit additional tests for D73763. 2020-03-20 13:39:46 +00:00
DivRemPairs [DivRemPairs] Freeze operands if they can be undef values 2020-03-25 03:46:14 +09:00
EarlyCSE Let EarlyCSE fold equivalent freeze instructions 2020-02-28 20:35:20 +09:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp [ExpandMemCmp] Correctly set alignment of generated loads 2020-03-16 22:39:48 +09:00
Float2Int
ForcedFunctionAttrs
FunctionAttrs
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
GlobalDCE
GlobalMerge
GlobalOpt [GlobalOpt] Treat null-check of loaded value as use of global (PR35760) 2020-03-23 22:36:09 -07:00
GlobalSplit
GuardWidening
GVN [Tests] Regenerate some test checks; NFC 2020-03-20 12:06:53 +01: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
HardwareLoops
HotColdSplit [HotColdSplit] Mark entire function cold when entry block is cold 2020-02-17 15:57:50 -08:00
IndirectBrExpand
IndVarSimplify [IndVarSimplify] Extend previous special case for load use instruction to any narrow type loop variant to avoid extra trunc instruction 2020-03-05 16:27:59 -05:00
InferAddressSpaces
InferFunctionAttrs
Inline [AssumeBundles] filter usefull attriutes to preserve 2020-03-13 17:35:47 +01:00
InstCombine [InstCombine] remove one-use check for ctpop -> cttz 2020-03-23 13:59:57 -04:00
InstMerge
InstNamer
InstSimplify [ValueTracking] improve undef/poison analysis for constant vectors 2020-03-24 13:35:47 -04:00
InterleavedAccess
Internalize
IPConstantProp [SCCP] Do not mark unknown loads as overdefined. 2020-02-20 22:48:58 +01:00
IRCE
JumpThreading [JumpThreading] Fix infinite loop (PR44611) 2020-03-19 12:49:36 -07:00
LCSSA
LICM [LICM] Allow freeze to hoist/sink out of a loop 2020-03-03 12:29:39 +09:00
LoadStoreVectorizer AMDGPU: Don't report 2-byte alignment as fast 2020-02-11 18:35:00 -05:00
LoopDataPrefetch
LoopDeletion
LoopDistribute
LoopFusion
LoopIdiom
LoopInstSimplify
LoopInterchange [LoopInterchange] Fix interchanging contents of preheader BBs 2020-03-13 15:59:37 -04:00
LoopLoadElim
LoopPredication
LoopReroll
LoopRotate [Test] Add a regression test for failure introduced by 952ad4701cf0d8da79789f6b83ddaa386c60d535 2020-03-05 16:32:37 +07:00
LoopSimplify
LoopSimplifyCFG
LoopStrengthReduce
LoopTransformWarning
LoopUnroll [NFC][PowerPC] Update test 2020-03-18 16:21:37 +00:00
LoopUnrollAndJam
LoopUnswitch
LoopVectorize [InstComine] Forego of one-use check in (X - (X & Y)) --> (X & ~Y) if Y is a constant 2020-03-06 21:39:07 +03:00
LoopVersioning
LoopVersioningLICM
LowerAtomic
LowerConstantIntrinsics
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [Matrix] Add remark propagation along the inlined-at chain. 2020-03-11 17:40:08 +00:00
LowerSwitch
LowerTypeTests
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg
MemCpyOpt [ValueTracking] Fix usage of DataLayout::getTypeStoreSize() 2020-03-20 16:52:15 -07:00
MergeFunc
MergeICmps
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN
ObjCARC [ObjC][ARC] Don't remove autoreleaseRV/retainRV pairs if the call isn't 2020-03-13 13:52:14 -07:00
OpenMP [OpenMPOpt] Validate declaration types against the expected types 2020-03-23 11:43:36 -05:00
PartiallyInlineLibCalls
PGOProfile
PhaseOrdering [InstComine] Forego of one-use check in (X - (X & Y)) --> (X & ~Y) if Y is a constant 2020-03-06 21:39:07 +03: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
SafeStack
SampleProfile Fix test for profile remapper 2020-02-18 17:58:32 -08:00
ScalarizeMaskedMemIntrin/X86
Scalarizer
SCCP [SCCP] Precommit additional range propagation test. 2020-03-23 14:15:19 +00:00
SeparateConstOffsetFromGEP
SimpleLoopUnswitch Revert "[SimpleLoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison" 2020-02-28 11:10:46 +09:00
SimplifyCFG Allow replacing intrinsic operands with variables 2020-03-23 15:51:57 -04:00
Sink
SLPVectorizer AMDGPU: Allow vectorization of round intrinsic 2020-03-23 17:00:41 -04:00
SpeculateAroundPHIs
SpeculativeExecution
SROA SROA: Don't drop atomic load/store alignments (PR45010) 2020-02-28 10:38:40 +01:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG StructurizeCFG: simplify phi nodes when possible 2020-03-05 10:33:15 +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
Util Fixed [AssumeBundles] Move to IR so it can be used by Analysis 2020-03-10 18:02:39 +01:00
VectorCombine/X86 [VectorCombine] add tests for bitcast (shuffle); NFC 2020-03-24 15:18:32 -04:00
WholeProgramDevirt [WPD] Provide a way to prevent functions from being devirtualized 2020-03-09 14:05:15 +03:00