1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/Transforms
Alexey Bataev 4fa8938c47 [SLP] Fix for PR32086: Count InsertElementInstr of the same elements as shuffle.
Summary:
If the same value is going to be vectorized several times in the same
tree entry, this entry is considered to be a gather entry and cost of
this gather is counter as cost of InsertElementInstrs for each gathered
value. But we can consider these elements as ShuffleInstr with
SK_PermuteSingle shuffle kind.

Reviewers: spatel, RKSimon, mkuper, hfinkel

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D38697

llvm-svn: 323530
2018-01-26 14:31:09 +00:00
..
ADCE
AddDiscriminators Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
AggressiveInstCombine Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
AlignmentFromAssumptions Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
ArgumentPromotion [Debugify] Handled unsized types 2018-01-06 00:37:01 +00:00
AtomicExpand
BDCE
BlockExtractor [llvm-extract] Support extracting basic blocks 2018-01-23 21:51:34 +00:00
BranchFolding
CalledValuePropagation
CallSiteSplitting [CallSiteSplitting] Fix infinite loop when recording conditions. 2018-01-26 10:36:50 +00:00
CodeExtractor [CodeExtractor] Use subset of function attributes for extracted function. 2018-01-07 11:22:25 +00:00
CodeGenPrepare Regenerate shuffle sink test 2018-01-24 14:59:02 +00:00
ConstantHoisting
ConstantMerge
ConstProp [TargetLibraryInfo] fix finite mathlib function availability 2018-01-08 17:38:09 +00:00
Coroutines
CorrelatedValuePropagation Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
CrossDSOCFI
DCE
DeadArgElim
DeadStoreElimination Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
DivRemPairs
EarlyCSE [EarlyCSE] Salvage debug info during DCE 2018-01-09 15:08:37 +00:00
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp/X86 [x86, MemCmpExpansion] allow 2 pairs of loads per block (PR33325) 2018-01-06 16:16:04 +00:00
Float2Int
ForcedFunctionAttrs
FunctionAttrs Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
FunctionImport Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +00:00
GCOVProfiling
GlobalDCE
GlobalMerge
GlobalOpt Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
GlobalSplit
GuardWidening
GVN [NFC] fix trivial typos in comments 2018-01-24 05:04:35 +00:00
GVNHoist [GVNHoist] Fix: PR35222 gvn-hoist incorrectly erases load in case of a loop 2018-01-04 07:47:24 +00:00
GVNSink
IndirectBrExpand Introduce the "retpoline" x86 mitigation technique for variant #2 of the speculative execution vulnerabilities disclosed today, specifically identified by CVE-2017-5715, "Branch Target Injection", and is one of the two halves to Spectre.. 2018-01-22 22:05:25 +00:00
IndVarSimplify Revert [SCEV] Fix isLoopEntryGuardedByCond usage 2018-01-22 07:47:02 +00:00
InferAddressSpaces Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
InferFunctionAttrs
Inline Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
InstCombine [InstCombine] narrow masked zexted binops (PR35792) 2018-01-25 16:34:36 +00:00
InstMerge
InstNamer
InstSimplify InstSimplify: If divisor element is undef simplify to undef 2018-01-24 17:22:00 +00:00
InterleavedAccess
Internalize
IPConstantProp [IPSCCP] Remove calls without side effects 2018-01-09 21:58:46 +00:00
IRCE [NFC] Remove overconfident assert from IRCE 2018-01-24 07:51:41 +00:00
JumpThreading [Dominators] Visit affected node candidates found at different root levels 2018-01-19 21:27:24 +00:00
LCSSA [Debug] LCSSA: Insert dbg.value at the first available insertion point 2018-01-25 23:48:29 +00:00
LICM Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
LoadStoreVectorizer
LoopDataPrefetch
LoopDeletion [LoopDeletion] Handle users in unreachable block 2018-01-12 07:24:43 +00:00
LoopDistribute
LoopIdiom Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
LoopInterchange
LoopLoadElim
LoopPredication
LoopReroll
LoopRotate [LoopRotate] Detect loops with indirect branches better (we're giving up on them). 2018-01-09 23:54:35 +00:00
LoopSimplify [BasicBlockUtils] Check for unreachable preds before updating LI in UpdateAnalysisInformation 2018-01-02 16:25:50 +00:00
LoopSimplifyCFG
LoopStrengthReduce [SCEV] Do not cache S -> V if S is not equivalent of V 2018-01-09 06:47:14 +00:00
LoopUnroll [Unroll][DebugInfo] Propagate loop body's debug location to epilog preheader 2017-12-26 23:31:21 +00:00
LoopUnswitch
LoopVectorize [X86] Add support for passing 'prefer-vector-width' function attribute into X86Subtarget and exposing via X86's getRegisterWidth TTI interface. 2018-01-20 00:26:08 +00:00
LoopVersioning
LoopVersioningLICM
LowerAtomic
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerSwitch
LowerTypeTests LowerTypeTests: Add limited support for aliases 2018-01-10 00:00:51 +00:00
Mem2Reg [Debugify] Add a pass to test debug info preservation 2017-12-08 21:57:28 +00:00
MemCpyOpt Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
MergeFunc Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
MergeICmps
MetaRenamer Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
NameAnonGlobals
NaryReassociate
NewGVN Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
ObjCARC [ObjCARC] Do not turn a call to @objc_autoreleaseReturnValue into a call 2018-01-19 23:51:13 +00:00
PartiallyInlineLibCalls
PGOProfile Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
PhaseOrdering [SimplifyCFG] don't sink common insts too soon (PR34603) 2017-12-14 22:05:20 +00:00
PlaceSafepoints Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
PreISelIntrinsicLowering
PruneEH
Reassociate Reassociate: add global reassociation algorithm 2017-12-12 19:18:02 +00:00
Reg2Mem
RewriteStatepointsForGC [Transforms] Support making mutable versions of new-format TBAA access tags 2018-01-17 13:29:54 +00:00
SafeStack Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
SampleProfile Profiling tests: Endianess XFAIL for powerpc- (32-bit) 2018-01-09 20:09:23 +00:00
Scalarizer
SCCP
SeparateConstOffsetFromGEP
SimpleLoopUnswitch
SimplifyCFG Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
Sink [Sink] Really really fix predicate in legality check 2018-01-11 21:28:57 +00:00
SLPVectorizer [SLP] Fix for PR32086: Count InsertElementInstr of the same elements as shuffle. 2018-01-26 14:31:09 +00:00
SpeculateAroundPHIs
SpeculativeExecution
SROA Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG Revert r321751, "StructurizeCFG: Fix broken backedge detection" 2018-01-24 18:02:05 +00:00
SyntheticCountsPropagation Add a pass to generate synthetic function entry counts. 2018-01-09 19:39:35 +00:00
TailCallElim
ThinLTOBitcodeWriter Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +00:00
Util Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
WholeProgramDevirt Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +00:00