1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/Transforms
Sanjay Patel 1fb7519cc1 [InstSimplify] fold splat of inserted constant to vector constant
shuf (inselt ?, C, IndexC), undef, <IndexC, IndexC...> --> <C, C...>

This is another missing shuffle fold pattern uncovered by the
shuffle correctness fix from D70246.

The problem was visible in the post-commit thread example, but
we managed to overcome the limitation for that particular case
with D71220.

This is something like the inverse of the previous fix - there
we didn't demand the inserted scalar, and here we are only
demanding an inserted scalar.

Differential Revision: https://reviews.llvm.org/D71488
2019-12-15 09:32:03 -05:00
..
ADCE
AddDiscriminators
AggressiveInstCombine
AlignmentFromAssumptions
ArgumentPromotion [ArgPromo][Tests] Run update_test_checks on all ArgumentPromotion tests 2019-12-14 00:29:38 -06:00
AtomicExpand AMDGPU: Fix copy-pasted test name error 2019-12-11 19:44:47 +05:30
Attributor [Attributor][Tests] Copy & use the ArgumentPromotion tests 2019-12-14 01:05:36 -06:00
BDCE Clang-trunk Generates Wrong Debug values with -O1 2019-11-21 13:53:10 -08:00
BlockExtractor
BranchFolding
CalledValuePropagation
CallSiteSplitting
CanonicalizeAliases
CodeExtractor
CodeGenPrepare [PGO][PGSO] Enable size optimizations in code gen / target passes for cold code. 2019-12-13 11:01:19 -08:00
ConstantHoisting [AArch64TTI] Compute imm materialization cost for AArch64 intrinsics 2019-12-04 11:09:03 +00:00
ConstantMerge
ConstProp
Coroutines [ValueTracking] Pointer is known nonnull after load/store 2019-12-11 20:32:29 +01:00
CorrelatedValuePropagation [ConstantRange][LVI] Use overflow flags from sub to constrain the range 2019-11-07 16:18:03 +03:00
CrossDSOCFI
DCE
DeadArgElim
DeadStoreElimination Revert "[DSE] Fix for a dangling point bug in DeadStoreElimination." 2019-12-05 19:29:21 +00:00
DivRemPairs
EarlyCSE [IR] Fix mayReadFromMemory() for writeonly calls 2019-10-21 06:52:08 +00:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp [X86] Make memcmp vector lowering handle arbitrary expansions 2019-10-30 09:12:57 +02:00
Float2Int
ForcedFunctionAttrs
FunctionAttrs [Attributor] Copy or port test cases related to Attributor to Attributor test folder 2019-12-02 15:36:29 +00:00
FunctionImport
GCOVProfiling
GlobalDCE Reland: Dead Virtual Function Elimination 2019-10-17 09:58:57 +00:00
GlobalMerge
GlobalOpt remove UB from test by making GV alignment explicit 2019-12-01 15:16:31 +00:00
GlobalSplit
GuardWidening Broaden the definition of a "widenable branch" 2019-11-21 10:46:16 -08:00
GVN
GVNHoist
GVNSink
HardwareLoops Recommit "[HardwareLoops] Optimisation remarks" 2019-11-05 09:06:22 +00:00
HotColdSplit Fix failing testcase to check for the correct output 2019-12-02 16:19:35 -08:00
IndirectBrExpand
IndVarSimplify [LoopPred] Enable new transformation by default 2019-11-06 15:41:57 -08:00
InferAddressSpaces
InferFunctionAttrs [Attributor] Copy or port test cases related to Attributor to Attributor test folder 2019-12-02 15:36:29 +00:00
Inline [InlineCost] Fix infinite loop in indirect call evaluation 2019-11-28 08:27:50 +02:00
InstCombine [InstSimplify] fold splat of inserted constant to vector constant 2019-12-15 09:32:03 -05:00
InstMerge
InstNamer
InstSimplify [InstSimplify] fold splat of inserted constant to vector constant 2019-12-15 09:32:03 -05:00
InterleavedAccess [ARM] Disable VLD4 under MVE 2019-12-08 10:37:29 +00:00
Internalize Reland: Dead Virtual Function Elimination 2019-10-17 09:58:57 +00:00
IPConstantProp [IPConstantProp][NFCI] Improve and modernize tests 2019-12-09 15:24:08 -06:00
IRCE
JumpThreading Reapply [LVI] Normalize pointer behavior 2019-12-13 08:59:58 +01:00
LCSSA [LCSSA] Don't use VH callbacks to invalidate SCEV when creating LCSSA phis 2019-12-06 13:21:49 +07:00
LICM [ValueTracking] Allow context-sensitive nullness check for non-pointers 2019-12-09 15:15:52 -06:00
LoadStoreVectorizer
LoopDataPrefetch
LoopDeletion
LoopDistribute
LoopFusion
LoopIdiom Revert BCmp Loop Idiom recognition transform (PR43870) 2019-11-02 12:48:03 +03:00
LoopInstSimplify
LoopInterchange [LoopInterchange] Improve inner exit loop safety checks. 2019-12-04 17:46:01 +00:00
LoopLoadElim
LoopPredication [LoopPred] Robustly handle partially unswitched loops 2019-11-21 15:44:36 -08:00
LoopReroll
LoopRotate
LoopSimplify
LoopSimplifyCFG
LoopStrengthReduce
LoopTransformWarning
LoopUnroll [InstCombine] Revert rL341831: relax one-use check in foldICmpAddConstant() (PR44100) 2019-12-02 18:06:15 +03:00
LoopUnrollAndJam
LoopUnswitch
LoopVectorize [ARM] Add missing REQUIRES: asserts to test. NFC 2019-12-09 11:43:43 +00:00
LoopVersioning
LoopVersioningLICM
LowerAtomic
LowerConstantIntrinsics
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [Matrix] Add first set of matrix intrinsics and initial lowering pass. 2019-12-12 15:42:18 +00:00
LowerSwitch
LowerTypeTests
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg
MemCpyOpt Revert "Revert "As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there."" 2019-11-26 20:28:52 -08:00
MergeFunc [MergeFuncs] Remove incorrect attribute copying 2019-12-11 20:09:54 +01:00
MergeICmps
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN [NewGVN] Check that call has an access. 2019-10-15 17:25:36 +00:00
ObjCARC llvm/ObjCARC: Eliminate inlined AutoreleaseRV calls 2019-11-19 12:02:01 -08:00
PartiallyInlineLibCalls
PGOProfile
PhaseOrdering Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
PlaceSafepoints
PreISelIntrinsicLowering [ObjC] Override TailCallKind when lowering objc intrinsics 2019-11-11 08:30:06 -08:00
PruneEH
Reassociate [DBG][OPT] Attempt to salvage or undef debug info when removing trivially deletable instructions in the Reassociate Expression pass. 2019-11-12 15:17:04 +00:00
Reg2Mem
RewriteStatepointsForGC
SafeStack
SampleProfile [AutoFDO] Statistic for context sensitive profile guided inlining 2019-12-11 21:37:21 -08:00
ScalarizeMaskedMemIntrin/X86
Scalarizer [Scalarizer] Treat values from unreachable blocks as undef 2019-11-15 11:13:37 +01:00
SCCP
SeparateConstOffsetFromGEP
SimpleLoopUnswitch [SimpleLoopUnswitch] Invalidate the topmost loop with ExitBB as exiting. 2019-12-04 11:32:09 +00:00
SimplifyCFG Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
Sink
SLPVectorizer [SLP] Enhance SLPVectorizer to vectorize different combinations of aggregates 2019-12-03 19:29:27 +03:00
SpeculateAroundPHIs
SpeculativeExecution
SROA [NFC] Precommit test showing SROA loses !tbaa.struct metadata 2019-12-02 11:48:01 +03:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG
SyntheticCountsPropagation
TailCallElim
ThinLTOBitcodeWriter
TypePromotion/ARM [ARM][TypePromotion] Enable by default 2019-12-11 10:00:16 +00:00
Util LowerDbgDeclare: look through bitcasts. 2019-12-05 11:19:07 -08:00
WholeProgramDevirt