llvm-project/llvm/test/Transforms
Roman Lebedev 132be1f502
[InstCombine] (-NSW x) u< x --> x s< 0 (PR39480)
Name: (-x) u< x  -->  x s< 0
%neg_x = sub nsw i8 0, %x ; %x must not be INT_MIN
%r = icmp ult i8 %neg_x, %x
  =>
%r = icmp slt i8 %x, 0

https://rise4fun.com/Alive/zSuf

https://bugs.llvm.org/show_bug.cgi?id=39480
2020-08-06 11:50:36 +03:00
..
ADCE
AddDiscriminators
AggressiveInstCombine
AlignmentFromAssumptions Temporarily Revert "[AssumeBundles] Use operand bundles to encode alignment assumptions" 2020-07-16 11:54:04 -07:00
ArgumentPromotion [ArgPromotion] Replace all md uses of promoted values with undef. 2020-08-03 19:31:53 +01:00
AtomicExpand
Attributor [Attributor] Check nonnull attribute violation in AAUndefinedBehavior 2020-08-03 17:12:50 +09:00
BDCE [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses 2020-07-10 08:34:53 +01:00
BlockExtractor
BranchFolding
CallSiteSplitting Re-enable "[InstCombine] Simplify boolean Phis with const inputs using CFG" 2020-07-16 16:09:08 +07:00
CalledValuePropagation
CanonicalizeAliases
CanonicalizeFreezeInLoops [TargetPassConfig] Add CanonicalizeFreezeInLoops before LSR 2020-05-28 05:21:12 +09:00
CodeExtractor
CodeGenPrepare CodeGenPrep: remove AssertingVH references before deleting dead instructions. 2020-07-15 15:19:21 +01:00
ConstProp
ConstantHoisting
ConstantMerge
Coroutines [Coroutines] Use to collect lifetime marker of in CoroFrame Differential Revision: https://reviews.llvm.org/D85279 2020-08-06 14:21:55 +08:00
CorrelatedValuePropagation [ConstantRange][CVP] Make use of abs poison flag 2020-07-30 23:06:10 +02:00
CrossDSOCFI
DCE Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
DeadArgElim IR: Define byref parameter attribute 2020-07-20 10:23:09 -04:00
DeadStoreElimination Re-land "[PowerPC] Remove QPX/A2Q BGQ/BGP CNK support" 2020-07-28 14:00:11 +00:00
DivRemPairs [ValueTracking] Let isGuaranteedNotToBeUndefOrPoison use canCreateUndefOrPoison 2020-07-20 09:21:39 +09:00
EarlyCSE [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
EliminateAvailableExternally
EntryExitInstrumenter Re-land "[PowerPC] Remove QPX/A2Q BGQ/BGP CNK support" 2020-07-28 14:00:11 +00:00
ExpandMemCmp
FixIrreducible [fix-irreducible] Skip unreachable predecessors. 2020-07-11 10:08:44 -04:00
Float2Int
ForcedFunctionAttrs
FunctionAttrs [FunctionAttrs] Rename functionattrs -> function-attrs 2020-07-28 09:09:13 -07:00
FunctionImport
GCOVProfiling [gcov][test] Add mkdir -p %t && cd %t 2020-06-09 11:09:50 -07:00
GVN [GVN] Rewrite IsValueFullyAvailableInBlock(): no recursion, less false-negatives 2020-07-28 10:19:28 +03:00
GVNHoist
GVNSink [NFCI][SimplifyCFG] Guard common code hoisting with a (default-on) flag 2020-07-20 10:29:57 +03:00
GlobalDCE [FunctionAttrs] Rename functionattrs -> function-attrs 2020-07-28 09:09:13 -07:00
GlobalMerge
GlobalOpt [GVN] add early exit to ConstantFoldLoadThroughBitcast [NFC] 2020-07-13 21:44:17 -04:00
GlobalSplit
GuardWidening
HardwareLoops [SCEV] If Start>=RHS, simplify (Start smin RHS) = RHS for trip counts. 2020-08-03 17:22:42 +01:00
HotColdSplit [HotColdSplit] Add test case for unlikely attribute in outlined function 2020-08-04 13:16:33 -07:00
IRCE [NPM] Bail out when -foo and --passes=foo are both specified 2020-06-22 08:27:13 -07:00
IndVarSimplify [FunctionAttrs] Rename functionattrs -> function-attrs 2020-07-28 09:09:13 -07:00
IndirectBrExpand
InferAddressSpaces Revert "[InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms" and subsequent patches 2020-07-15 22:02:33 -07:00
InferFunctionAttrs
Inline [NewPM] Don't print 'Invalidating all non-preserved analyses' 2020-07-30 19:40:29 -07:00
InstCombine [InstCombine] (-NSW x) u< x --> x s< 0 (PR39480) 2020-08-06 11:50:36 +03:00
InstMerge [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
InstNamer [InstNamer] use 'i' for Instructions, not 'tmp' 2020-06-01 11:11:14 -04:00
InstSimplify [InstSimplify] fold icmp with mul nsw and constant operands 2020-08-05 14:38:39 -04:00
InterleavedAccess [Alignment] Fix misaligned interleaved loads 2020-05-27 12:12:22 +00:00
Internalize
JumpThreading [JumpThreading] Allow duplicating a basic block into preds when its branch condition is freeze(phi) 2020-08-06 09:51:17 +09:00
LCSSA
LICM [tbaa] Rename type-based-aa -> tbaa 2020-07-30 19:51:35 -07:00
LoadStoreVectorizer Rename scoped-noalias -> scoped-noalias-aa 2020-07-24 12:14:27 -07:00
LoopDataPrefetch Re-land "[PowerPC] Remove QPX/A2Q BGQ/BGP CNK support" 2020-07-28 14:00:11 +00:00
LoopDeletion [NPM][IVUsers] Rename ivusers -> iv-users 2020-07-15 09:38:21 -07:00
LoopDistribute [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
LoopFusion [Loop Fusion] Integrate Loop Peeling into Loop Fusion (re-land after fixing ASAN build failures) 2020-07-23 21:02:04 +00:00
LoopIdiom [BasicAA] Enable -basic-aa-recphi by default 2020-08-04 10:43:42 +01:00
LoopInstSimplify
LoopInterchange [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
LoopLoadElim [LAA] Avoid adding pointers to the checks if they are not needed. 2020-07-30 19:21:14 +01:00
LoopPredication [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
LoopReroll [IR] Simplify Use::swap. NFCI. 2020-07-21 12:15:12 +01:00
LoopRotate [NewPM][LoopRotate] Rename rotate -> loop-rotate 2020-08-05 12:25:01 -07:00
LoopSimplify Re-land "[PowerPC] Remove QPX/A2Q BGQ/BGP CNK support" 2020-07-28 14:00:11 +00:00
LoopSimplifyCFG For some tests targeting SystemZ, -march=z13 ---> -mcpu=z13 2020-07-29 19:18:01 -07:00
LoopStrengthReduce [SCEV] don't query getSCEV() for incomplete phis 2020-08-01 02:38:54 -04:00
LoopTransformWarning
LoopUnroll [NewPM] Don't print 'Invalidating all non-preserved analyses' 2020-07-30 19:40:29 -07:00
LoopUnrollAndJam [tbaa] Rename type-based-aa -> tbaa 2020-07-30 19:51:35 -07:00
LoopUnswitch [FunctionAttrs] Rename functionattrs -> function-attrs 2020-07-28 09:09:13 -07:00
LoopVectorize Revert "[LoopVectorizer] Inloop vector reductions" 2020-08-05 10:24:15 -07:00
LoopVersioning [NewPM][LoopVersioning] Port LoopVersioning to NPM 2020-08-03 10:32:09 -07:00
LoopVersioningLICM
LowerAtomic
LowerConstantIntrinsics IR: Define byref parameter attribute 2020-07-20 10:23:09 -04:00
LowerExpectIntrinsic Add support of __builtin_expect_with_probability 2020-06-22 10:21:28 -07:00
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [Matrix] Use TileInfo to create tiled loop nest for matrix multiply. 2020-07-20 21:11:53 +01:00
LowerSwitch
LowerTypeTests
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg [Mem2Reg] Teach promote to register about droppable instructions 2020-07-24 15:15:38 -05:00
MemCpyOpt Rename scoped-noalias -> scoped-noalias-aa 2020-07-24 12:14:27 -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 Fix typo in test. Thanks to Andrew Ng for spotting this! 2020-08-05 22:56:15 -07:00
ObjCARC [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
OpenMP [OpenMPOpt] Regression test for hiding latency of H2D mem transfers 2020-07-22 20:02:54 -05:00
PGOProfile [PGO] Move __profc_ and __profvp_ from their own comdat groups to __profd_'s comdat group 2020-08-03 20:35:50 -07:00
PartiallyInlineLibCalls
PhaseOrdering [SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline 2020-07-29 20:05:30 +03:00
PlaceSafepoints
PreISelIntrinsicLowering Remove Passes dependency on CodeGen 2020-06-24 14:52:46 -07:00
PruneEH
Reassociate [FunctionAttrs] Rename functionattrs -> function-attrs 2020-07-28 09:09:13 -07:00
Reg2Mem
RewriteStatepointsForGC [NPM] Bail out when -foo and --passes=foo are both specified 2020-06-22 08:27:13 -07:00
SCCP [SCCP] Propagate inequalities 2020-08-04 20:20:52 +02:00
SLPVectorizer [NFC] GetUnderlyingObject -> getUnderlyingObject 2020-07-30 21:08:24 -07:00
SROA Teach SROA to handle allocas with more than one dbg.declare. 2020-08-04 15:54:51 -07:00
SafeStack [Instruction] Set metadata uses to undef on deletion 2020-05-21 15:58:12 -07:00
SampleProfile [AutoFDO] Avoid merging inlinee samples multiple times 2020-07-31 09:30:05 -07:00
ScalarizeMaskedMemIntrin [SVE] Scalarize fixed length masked loads and stores. 2020-07-09 10:47:04 +00:00
Scalarizer [Scalarizer] When gathering scattered scalar, don't replace it with itself 2020-07-07 17:03:53 +03:00
SeparateConstOffsetFromGEP Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
SimpleLoopUnswitch [SimpleLoopUnswitch] Preserve make.implicit in non-trivial unswitch if legal 2020-07-31 11:38:43 +07:00
SimplifyCFG [SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline 2020-07-29 20:05:30 +03:00
Sink [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
SpeculateAroundPHIs [NFC] Update tests 2020-05-05 15:28:40 +01:00
SpeculativeExecution SpeculativeExecution: Fix for logic change introduced in D81730. 2020-07-09 15:45:23 +03:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG [StructurizeCFG] Fix region nodes ordering 2020-06-01 12:50:35 +03:00
SyntheticCountsPropagation
TailCallElim Revert "[TRE] allow TRE for non-capturing calls." 2020-07-13 00:39:48 +03:00
ThinLTOBitcodeWriter
TypePromotion/ARM
UnifyLoopExits
UniqueInternalLinkageNames
Util Fix tests after 16f777f421 2020-07-14 22:52:26 +02:00
VectorCombine/X86 [VectorCombine] add tests for non-zero gep offsets; NFC 2020-08-01 10:18:37 -04:00
WholeProgramDevirt Restore "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP" 2020-07-14 12:16:57 -07:00