1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/Transforms
Nikita Popov 6d5fd91806 [InstCombine] Generalize icmp handling in isKnownNonZero()
The dominating condition handling in isKnownNonZero() currently
only takes into account conditions of the form "x != 0" or "x == 0".
However, there are plenty of other conditions that imply non-zero,
a common one being "x s> 0".

Peculiarly, the handling for assumes was already dealing with more
general non-zero-ness conditions, so this just reuses the same
logic for the dominating condition case.
2020-12-25 16:49:23 +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 [FileCheck] Enforce --allow-unused-prefixes=false for llvm/test/Transforms 2020-12-09 08:51:38 -08:00
AtomicExpand [AArch64] Out-of-line atomics (-moutline-atomics) implementation. 2020-11-20 13:30:12 +00:00
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 [NPM] Move more O0 pass building into PassBuilder 2020-11-19 11:22:23 -08:00
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 [test] Fix const-addr-no-neg-offset.ll under NPM 2020-11-13 23:29:58 -08:00
ConstantMerge
ConstraintElimination [ConstraintElimination] Bail out if system gets too big. 2020-12-06 20:19:15 +00:00
Coroutines Add a llvm.coro.end.async intrinsic 2020-12-22 10:52:28 -08:00
CorrelatedValuePropagation [AC] Handle (X+C1)<C2 assumes (PR48408) 2020-12-13 21:00:32 +01:00
CrossDSOCFI
DCE [DCE] Always get TargetLibraryInfo 2020-11-17 20:41:05 -08:00
DeadArgElim OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
DeadStoreElimination [DSE] Use correct memory location for read clobber check 2020-12-18 20:26:53 +01:00
DivRemPairs
EarlyCSE OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp
FixIrreducible
Float2Int
ForcedFunctionAttrs
FunctionAttrs [FunctionAttrs][NPM] Fix handling of convergent 2020-11-23 21:09:41 -08:00
FunctionImport [CGProfile] allows bitcast in metadata node storing function pointers 2020-11-13 09:28:21 -08:00
GCOVProfiling
GlobalDCE [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
GlobalMerge
GlobalOpt Fix for Bug 48055. 2020-12-04 11:05:01 -08:00
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 [FileCheck] Enforce --allow-unused-prefixes=false for llvm/test/Transforms 2020-12-09 08:51:38 -08:00
HelloNew
HotColdSplit [HotColdSplit] Reflect full cost of parameters in split penalty 2020-12-18 17:06:17 -08:00
IndirectBrExpand
IndVarSimplify [SimplifyCFG] Teach FoldTwoEntryPHINode() to preserve DomTree 2020-12-20 00:18:33 +03: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 [InstCombine] Generalize icmp handling in isKnownNonZero() 2020-12-25 16:49:23 +01:00
InstMerge OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
InstNamer
InstSimplify Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
InterleavedAccess [InterleavedAccess] Remove unused check-prefixes 2020-11-09 13:12:40 +00:00
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 [test] Fix widen-iv.ll under NPM 2020-12-07 19:34:31 -08:00
LoopFusion [test] Fix LoopFusion tests under NewPM 2020-12-07 17:37:42 -08:00
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 [LoopLoadElim] Make sure all loops are in simplify form. PR48150 2020-11-26 10:51:11 +07:00
LoopPredication
LoopReroll
LoopRotate [test] Rewrite phi-empty.ll into a unittest 2020-12-08 09:59:31 -08:00
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 [NPM] Share pass building options with legacy PM 2020-11-23 13:04:05 -08:00
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 [test] Fix Transforms/LoopVersioningLICM under NPM 2020-12-07 21:54:38 -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 [test] Fix multiply-minimal.ll 2020-11-19 18:16:35 -08:00
LowerSwitch
LowerTypeTests [FileCheck] Enforce --allow-unused-prefixes=false for llvm/test/Transforms 2020-12-09 08:51:38 -08:00
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg
MemCpyOpt [FileCheck] Enforce --allow-unused-prefixes=false for llvm/test/Transforms 2020-12-09 08:51:38 -08:00
MergeFunc OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
MergeICmps [MergeICmps] Fix missing split. 2020-12-01 16:50:55 +01:00
MetaRenamer OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
NameAnonGlobals [NPM] Move more O0 pass building into PassBuilder 2020-11-19 11:22:23 -08:00
NaryReassociate [NARY-REASSOCIATE] Simplify traversal logic by post deleting dead instructions 2020-12-04 16:17:50 +07:00
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 [PartialInliner]: Handle code regions in a switch stmt cases 2020-11-02 14:32:45 -05:00
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 [Reassociate] Don't convert add-like-or's into add's if they appear to be part of load-combining idiom 2020-11-18 17:55:02 +03:00
Reg2Mem [Reg2Mem] add support for the new pass manager 2020-11-08 11:14:05 +00:00
RewriteStatepointsForGC Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
SafeStack OpaquePtr: Bulk update tests to use typed byval 2020-11-20 14:00:46 -05:00
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 [NewPM] Port -separate-const-offset-from-gep 2020-11-09 17:42:36 -08:00
SimpleLoopUnswitch OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
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 [ConstantFold] Fold more operations to poison 2020-11-29 21:19:48 +09:00
StraightLineStrengthReduce [NPM] Add remaining test of -slsr 2020-11-17 14:41:01 +08:00
StripDeadPrototypes
StripSymbols
StructurizeCFG Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
SyntheticCountsPropagation
TailCallElim OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
ThinLTOBitcodeWriter [test] Fix split-vfunc.ll under NPM 2020-11-19 14:59:05 -08:00
TypePromotion/ARM
UnifyFunctionExitNodes
UnifyLoopExits
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 Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
WholeProgramDevirt
lit.local.cfg [FileCheck] Enforce --allow-unused-prefixes=false for llvm/test/Transforms 2020-12-09 08:51:38 -08:00