1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/Transforms
Nikita Popov ebc3162468 [ValueTracking] Handle more non-trivial conditions in isKnownNonZero()
In 35676a4f9a536a2aab768af63ddbb15bc722d7f9 I've added handling for
non-trivial dominating conditions that imply non-zero on the true
branch. This adds the same support for the false branch.

The changes in pr45360.ll change block ordering and naming, but
don't change the control flow. The urem is still guaraded by a
non-zero check correctly.
2020-12-26 15:48:04 +01:00
..
ADCE [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
AddDiscriminators
AggressiveInstCombine [AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts (REAPPLIED) 2020-12-21 15:22:27 +00:00
AlignmentFromAssumptions
ArgumentPromotion
AtomicExpand
Attributor [InstCombine] Generalize icmp handling in isKnownNonZero() 2020-12-25 16:49:23 +01:00
BDCE Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
BlockExtractor
BranchFolding
CalledValuePropagation
CallSiteSplitting [SimplifyCFG] Teach simplifyUnreachable() to preserve DomTree 2020-12-18 00:37:22 +03:00
CanonicalizeAliases
CanonicalizeFreezeInLoops
CodeExtractor [HotColdSplit] Reflect full cost of parameters in split penalty 2020-12-18 17:06:17 -08:00
CodeGenPrepare Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
ConstantHoisting
ConstantMerge
ConstraintElimination
Coroutines Add a llvm.coro.end.async intrinsic 2020-12-22 10:52:28 -08:00
CorrelatedValuePropagation
CrossDSOCFI
DCE
DeadArgElim
DeadStoreElimination [DSE] Use correct memory location for read clobber check 2020-12-18 20:26:53 +01:00
DivRemPairs
EarlyCSE
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp
FixIrreducible
Float2Int
ForcedFunctionAttrs
FunctionAttrs
FunctionImport
GCOVProfiling
GlobalDCE [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
GlobalMerge
GlobalOpt
GlobalSplit
GuardWidening
GVN Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
GVNHoist
GVNSink [NFCI][SimlifyCFG] simplifyOnce(): also perform DomTree validation 2020-12-20 00:18:32 +03:00
HardwareLoops
HelloNew
HotColdSplit [HotColdSplit] Reflect full cost of parameters in split penalty 2020-12-18 17:06:17 -08:00
IndirectBrExpand
IndVarSimplify [ValueTracking] Handle more non-trivial conditions in isKnownNonZero() 2020-12-26 15:48:04 +01:00
InferAddressSpaces Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
InferFunctionAttrs Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
Inline [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
InstCombine [ValueTracking] Handle more non-trivial conditions in isKnownNonZero() 2020-12-26 15:48:04 +01:00
InstMerge
InstNamer
InstSimplify Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
InterleavedAccess
Internalize
IRCE [IRCE] Add test case for PR48051 2020-12-14 12:01:19 +00:00
IROutliner [IRSim] Adding support for isomorphic predicates 2020-12-23 19:42:35 -06:00
JumpThreading [BPI] Improve static heuristics for "cold" paths. 2020-12-23 22:47:36 +07:00
LCSSA [DebugInfo] Avoid re-ordering assignments in LCSSA 2020-12-17 16:17:32 +00:00
LICM [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
LoadStoreVectorizer Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
LoopDataPrefetch
LoopDeletion [LoopDeletion] Add test case where outer loop needs to be deleted. 2020-12-22 17:49:20 +00:00
LoopDistribute
LoopFlatten
LoopFusion
LoopIdiom [LoopIdiom] 'left-shift-until-bittest': keep no-wrap flags on shift, fix edge-case miscompilation for %x.next 2020-12-24 21:20:52 +03:00
LoopInstSimplify
LoopInterchange [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
LoopLoadElim
LoopPredication
LoopReroll
LoopRotate
LoopSimplify [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
LoopSimplifyCFG
LoopStrengthReduce Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
LoopTransformWarning
LoopUnroll Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
LoopUnrollAndJam
LoopUnswitch Ensure SplitEdge to return the new block between the two given blocks 2020-12-18 17:37:17 +00:00
LoopVectorize [tests] precommit a test mentioned in review for D93317 2020-12-22 09:47:19 -08:00
LoopVersioning Revert "[BasicAA] Handle two unknown sizes for GEPs" 2020-12-18 17:59:12 +00:00
LoopVersioningLICM
LowerAtomic
LowerConstantIntrinsics
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics
LowerSwitch
LowerTypeTests
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg
MemCpyOpt
MergeFunc
MergeICmps
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
ObjCARC [ObjC][ARC] Fix a bug where the inline-asm retain/claim RV marker wasn't 2020-12-18 16:59:06 -08:00
OpenMP [OpenMP] Use assumptions during ICV tracking 2020-12-15 16:51:34 -06:00
PartialInlining
PartiallyInlineLibCalls
PGOProfile Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
PhaseOrdering Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH
Reassociate
Reg2Mem
RewriteStatepointsForGC Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
SafeStack
SampleProfile [CSSPGO] Consume pseudo-probe-based AutoFDO profile 2020-12-16 15:57:18 -08:00
ScalarizeMaskedMemIntrin
Scalarizer Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
SCCP [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
SeparateConstOffsetFromGEP
SimpleLoopUnswitch
SimplifyCFG Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
Sink
SLPVectorizer Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
SpeculateAroundPHIs
SpeculativeExecution Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
SROA
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
SyntheticCountsPropagation
TailCallElim
ThinLTOBitcodeWriter
TypePromotion/ARM
UnifyFunctionExitNodes
UnifyLoopExits
UniqueInternalLinkageNames
Util
VectorCombine Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
WholeProgramDevirt
lit.local.cfg