1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/Transforms
Jeremy Morse d7472f89c6 [DebugInfo] Avoid LSR crash on large integer inputs
Loop strength reduction tries to recover debug variable values by looking
for simple offsets from PHI values. In really extreme conditions there may
be an offset used that won't fit in an int64_t, hitting an APInt assertion.

This patch adds a regression test and adjusts the equivalent value
collecting code to filter out any values where the offset can't be
represented by an int64_t. This means that for very large integers with
very large offsets, the variable location will become undef, which is the
same behaviour as before 2a6782bb9f1 / D87494.

Differential Revision: https://reviews.llvm.org/D94016
2021-01-05 10:25:37 +00:00
..
ADCE [SimplifyCFG] Teach FoldValueComparisonIntoPredecessors() to preserve DomTree, part 1 2021-01-01 03:25:22 +03:00
AddDiscriminators
AggressiveInstCombine [AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts (REAPPLIED) 2020-12-21 15:22:27 +00:00
AlignmentFromAssumptions
ArgumentPromotion [ArgPromotion] Delay dead GEP removal until doPromotion. 2021-01-04 09:51:20 +00:00
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 tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
ConstantHoisting
ConstantMerge
ConstraintElimination [ConstraintElimination] Add support for select form of and/or 2020-12-30 21:27:36 +09:00
Coroutines [test] Pin some tests to legacy PM 2020-12-26 13:46:02 -08:00
CorrelatedValuePropagation [LVI] Handle unions of conditions 2021-01-01 16:46:21 +01:00
CrossDSOCFI
DCE
DeadArgElim OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
DeadStoreElimination Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
DivRemPairs
EarlyCSE [EarlyCSE] Use m_LogicalAnd/Or matchers to handle branch conditions 2020-12-28 05:36:26 +09:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp
FixIrreducible
Float2Int
ForcedFunctionAttrs
FunctionAttrs [FunctionAttrs][NPM] Fix handling of convergent 2020-11-23 21:09:41 -08:00
FunctionImport
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 [MSSAUpdater] Skip renaming when inserting def in unreachable block. 2020-12-29 18:22:12 +00:00
GVNHoist
GVNSink [SimplifyCFG] Teach HoistThenElseCodeToIf() to preserve DomTree 2020-12-30 00:48:10 +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 Revert "[LoopDeletion] Break backedge of loops when known not taken" 2021-01-04 09:50:47 -08:00
InferAddressSpaces [NewPM] Port infer-address-spaces 2020-12-28 19:58:12 -08:00
InferFunctionAttrs Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
Inline Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
InstCombine [InstCombine] add tests for ashr+icmp; NFC 2021-01-04 13:35:07 -05:00
InstMerge OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
InstNamer
InstSimplify [InstSimplify] gep with poison operand is poison 2021-01-05 11:07:49 +09:00
InterleavedAccess [InterleavedAccess] Return correct 'modified' status. 2021-01-04 15:49:47 +00:00
Internalize
IRCE [IRCE] Add test case for PR48051 2020-12-14 12:01:19 +00:00
IROutliner [IROutliner] Refactoring errors in the cost model from past patches. 2021-01-04 00:11:18 -06:00
JumpThreading [JumpThreading][NewPM] Skip when target has divergent CF 2021-01-04 16:08:08 -08: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 Revert "[LoopDeletion] Break backedge of loops when known not taken" 2021-01-04 09:50:47 -08:00
LoopDistribute [LoopDistribute] Add tests with uncomputable BTCs. 2021-01-01 13:57:03 +00:00
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': don't forget to check that PHI node is in loop header 2020-12-30 23:58:41 +03:00
LoopInstSimplify
LoopInterchange [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
LoopLoadElim [LoopLoadElim] Add tests with uncomputable BTCs. 2021-01-01 13:57:02 +00:00
LoopPredication
LoopReroll
LoopRotate [test] Rewrite phi-empty.ll into a unittest 2020-12-08 09:59:31 -08:00
LoopSimplify Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
LoopSimplifyCFG
LoopStrengthReduce [DebugInfo] Avoid LSR crash on large integer inputs 2021-01-05 10:25:37 +00:00
LoopTransformWarning
LoopUnroll Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
LoopUnrollAndJam [NPM] Share pass building options with legacy PM 2020-11-23 13:04:05 -08:00
LoopUnswitch [LoopUnswitch] Precommit initial partial unswitching test cases. 2021-01-03 20:34:32 +00:00
LoopVectorize [SCEV] Simplify trunc to zero based on known bits 2021-01-03 13:57:12 +02: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
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics Use unary CreateShuffleVector if possible 2020-12-30 22:36:08 +09: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
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
PartiallyInlineLibCalls
PGOProfile [SimplifyCFG] Teach FoldValueComparisonIntoPredecessors() to preserve DomTree, part 2 2021-01-01 03:25:24 +03:00
PhaseOrdering Use unary CreateShuffleVector if possible 2020-12-30 22:36:08 +09:00
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH
Reassociate
Reg2Mem
RewriteStatepointsForGC [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09:00
SafeStack
SampleProfile [CSSPGO] Consume pseudo-probe-based AutoFDO profile 2020-12-16 15:57:18 -08:00
ScalarizeMaskedMemIntrin
Scalarizer [Scalarizer] Use poison as insertelement's placeholder 2021-01-04 00:35:28 +09:00
SCCP [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
SeparateConstOffsetFromGEP
SimpleLoopUnswitch OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
SimplifyCFG [SimplifyCFG] SimplifyTerminatorOnSelect(): fix/tune DomTree updates 2021-01-04 01:02:02 +03:00
Sink
SLPVectorizer [InstSimplify] Fold division by zero to poison 2021-01-03 20:52:45 +01:00
SpeculateAroundPHIs
SpeculativeExecution Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
SROA Use unary CreateShuffleVector if possible 2020-12-30 22:36:08 +09:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG [test] Pin backedge-id-bug-xfail.ll to legacy PM 2021-01-04 13:09:42 -08:00
SyntheticCountsPropagation
TailCallElim OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
ThinLTOBitcodeWriter
TypePromotion/ARM
UnifyFunctionExitNodes
UnifyLoopExits
UniqueInternalLinkageNames
UniqueLinkageNames Moving UniqueInternalLinkageNamesPass to the start of IR pipelines. 2021-01-02 14:26:21 -08:00
Util
VectorCombine [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09:00
WholeProgramDevirt
lit.local.cfg [FileCheck] Enforce --allow-unused-prefixes=false for llvm/test/Transforms 2020-12-09 08:51:38 -08:00