llvm-6502/test/Transforms
Sanjay Patel be9ee96926 [X86, AVX] instcombine common cases of vperm2* intrinsics into shuffles
vperm2* intrinsics are just shuffles. 
In a few special cases, they're not even shuffles.

Optimizing intrinsics in InstCombine is better than
handling this in the front-end for at least two reasons:

1. Optimizing custom-written SSE intrinsic code at -O0 makes vector coders
   really angry (and so I have regrets about some patches from last week).

2. Doing mask conversion logic in header files is hard to write and 
   subsequently read.

There are a couple of TODOs in this patch to complete this optimization.

Differential Revision: http://reviews.llvm.org/D8486



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232852 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-20 21:47:56 +00:00
..
ADCE
AddDiscriminators DebugInfo: Fix testcases that fail -verify-debug-info=true 2015-03-16 21:10:12 +00:00
AlignmentFromAssumptions
ArgumentPromotion DebugInfo: Fix testcases that fail -verify-debug-info=true 2015-03-16 21:10:12 +00:00
AtomicExpand/ARM
BBVectorize [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
BDCE
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantHoisting
ConstantMerge [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
ConstProp [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
CorrelatedValuePropagation
DeadArgElim Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
DeadStoreElimination DebugInfo: Fix testcases that fail -verify-debug-info=true 2015-03-16 21:10:12 +00:00
EarlyCSE
FunctionAttrs
GCOVProfiling GCOV: Make the exit block placement from r223193 optional 2015-03-16 23:52:03 +00:00
GlobalDCE [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
GlobalOpt [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
GVN [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
IndVarSimplify [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
Inline Correctly estimate SROA savings for store operands in inline cost analysis. 2015-03-20 18:33:12 +00:00
InstCombine [X86, AVX] instcombine common cases of vperm2* intrinsics into shuffles 2015-03-20 21:47:56 +00:00
InstMerge [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
InstSimplify Add a bunch of CHECK missing colons in tests. NFC. 2015-03-14 01:43:57 +00:00
Internalize
IPConstantProp [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
IRCE [IRCE] Re-commit tests cases. 2015-03-17 01:40:24 +00:00
JumpThreading [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
LCSSA [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
LICM Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
LoadCombine
LoopDeletion
LoopIdiom Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
LoopInterchange Add a new pass "Loop Interchange" 2015-03-06 10:11:25 +00:00
LoopReroll
LoopRotate Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
LoopSimplify [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
LoopStrengthReduce [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
LoopUnroll Reapply 'Run LICM pass after loop unrolling pass.' 2015-03-12 05:36:01 +00:00
LoopUnswitch [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
LoopVectorize TLI: Add addVectorizableFunctionsFromVecLib. 2015-03-17 19:50:55 +00:00
LowerAtomic
LowerBitSets LowerBitSets: Avoid reusing byte set addresses. 2015-03-19 22:02:10 +00:00
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
MemCpyOpt [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
MergeFunc [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
MetaRenamer
ObjCARC [objc-arc] Make the ARC optimizer more conservative by forcing it to be non-safe in both direction, but mitigate the problem by noting that we just care if there was a further use. 2015-03-16 07:02:36 +00:00
PartiallyInlineLibCalls
PhaseOrdering [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
PlaceSafepoints
PruneEH
Reassociate Reapply "[Reassociate] Add initial support for vector instructions." 2015-03-13 20:53:01 +00:00
Reg2Mem
RewriteStatepointsForGC [RewriteStatepointsForGC] Yet more test cases for relocation 2015-03-05 22:28:06 +00:00
SampleProfile DebugInfo: Fix testcases that fail -verify-debug-info=true 2015-03-16 21:10:12 +00:00
Scalarizer Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
ScalarRepl Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
SCCP
SeparateConstOffsetFromGEP/NVPTX
SimplifyCFG Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
Sink
SLPVectorizer Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
SROA [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
StraightLineStrengthReduce
StripSymbols Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
StructurizeCFG
TailCallElim TRE: Just erase dead BBs and tweak the iteration loop not to increment the deleted BB iterator. 2015-02-28 16:47:27 +00:00
TailDup
Util [SwitchLowering] Remove incoming values in the reverse order 2015-03-17 18:03:10 +00:00