llvm-project/llvm/test/Transforms
Karthik Bhat 5ab7795649 Allow vectorization of intrinsics such as powi,cttz and ctlz in Loop and SLP Vectorizer.
This patch adds support to vectorize intrinsics such as powi, cttz and ctlz in Vectorizer. These intrinsics are different from other
intrinsics as second argument to these function must be same in order to vectorize them and it should be represented as a scalar.
Review: http://reviews.llvm.org/D3851#inline-32769 and http://reviews.llvm.org/D3937#inline-32857

llvm-svn: 209873
2014-05-30 04:31:24 +00:00
..
ADCE [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
AddDiscriminators Fix bug 19437 - Only add discriminators for DWARF 4 and above. 2014-04-17 22:33:50 +00:00
ArgumentPromotion IR: Conservatively verify inalloca arguments 2014-04-30 17:22:00 +00:00
AtomicExpandLoadLinked/ARM Atomics: promote ARM's IR-based atomics pass to CodeGen. 2014-04-17 18:22:47 +00:00
BBVectorize Allow vectorization of bit intrinsics in BB Vectorizer. 2014-04-25 03:33:48 +00:00
BranchFolding Re-commit: Demote EmitRawText call in AsmPrinter::EmitInlineAsm() and remove hasRawTextSupport() call 2014-02-13 14:44:26 +00:00
CodeExtractor [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
CodeGenPrepare Similar to bitcast, treat addrspacecast as a foldable operand. 2014-05-22 00:02:52 +00:00
ConstProp Teach the constant folder to look through bitcast constant expressions 2014-05-15 09:56:28 +00:00
ConstantHoisting AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
ConstantMerge Remove the linker_private and linker_private_weak linkages. 2014-03-13 23:18:37 +00:00
CorrelatedValuePropagation [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
DeadArgElim IR: Change inalloca's grammar a bit 2014-03-09 06:41:58 +00:00
DeadStoreElimination Update optimization passes to handle inalloca arguments 2014-01-28 02:38:36 +00:00
DebugIR Use right pointer type in DebugIR 2013-09-27 22:26:25 +00:00
EarlyCSE [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
FunctionAttrs When analyzing params/args for readnone/readonly, don't forget to consider that a pointer argument may be passed through a callsite to the return, and that we may need to analyze it. Fixes a bug reported on llvm-dev: http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-May/073098.html 2014-05-30 02:31:27 +00:00
GCOVProfiling Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
GVN [GVN] Pass the phi-translated address of a load instead of the untranslated 2014-05-02 17:59:17 +00:00
GlobalDCE Fix most of PR10367. 2014-05-16 19:35:39 +00:00
GlobalMerge AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
GlobalOpt Add comdat key field to llvm.global_ctors and llvm.global_dtors 2014-05-16 20:39:27 +00:00
IPConstantProp No need for those tests to go thru llvm-as and/or llvm-dis. 2014-05-27 22:03:28 +00:00
IndVarSimplify ScalarEvolution: Fix handling of AddRecs in isKnownPredicate 2014-05-23 00:06:56 +00:00
Inline Add support for missed and analysis optimization remarks. 2014-05-22 14:19:46 +00:00
InstCombine Add support for combining GEPs across PHI nodes 2014-05-29 20:29:47 +00:00
InstSimplify Teach isKnownNonNull that a nonnull return is not null. Add a test for this case as well as the case of a nonnull attribute (already handled but not tested). 2014-05-20 05:13:21 +00:00
Internalize Fix most of PR10367. 2014-05-16 19:35:39 +00:00
JumpThreading No need for those tests to go thru llvm-as and/or llvm-dis. 2014-05-27 22:03:28 +00:00
LCSSA [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
LICM [LPM] Switch LICM to actively use LCSSA in addition to preserving it. 2014-02-11 12:52:27 +00:00
LoadCombine Add LoadCombine pass. 2014-05-29 01:55:07 +00:00
LoopDeletion [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
LoopIdiom Debug Info: update testing cases to specify the debug info version number. 2013-11-23 01:16:29 +00:00
LoopReroll Fix loop rerolling pass failure with non-consant loop lower bound 2014-01-03 17:20:01 +00:00
LoopRotate [LPM] Fix PR18643, another scary place where loop transforms failed to 2014-01-29 13:16:53 +00:00
LoopSimplify No need for those tests to go thru llvm-as and/or llvm-dis. 2014-05-27 22:03:28 +00:00
LoopStrengthReduce AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
LoopUnroll LCSSA should be performed on the outermost affected loop while unrolling loop. 2014-05-29 06:47:23 +00:00
LoopUnswitch [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
LoopVectorize Allow vectorization of intrinsics such as powi,cttz and ctlz in Loop and SLP Vectorizer. 2014-05-30 04:31:24 +00:00
LowerAtomic IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
LowerExpectIntrinsic Lower llvm.expect intrinsic correctly for i1 2014-02-02 22:43:55 +00:00
LowerInvoke Remove LowerInvoke's obsolete "-enable-correct-eh-support" option 2014-03-20 19:54:47 +00:00
LowerSwitch Revert patches to add case-range support for PR1255. 2013-09-09 19:14:35 +00:00
Mem2Reg Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
MemCpyOpt Treat lifetime.start'd memory like we treat freshly alloca'd memory. Patch by Björn Steinbrink! 2014-03-26 23:45:15 +00:00
MergeFunc IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
MetaRenamer Reject alias to undefined symbols in the verifier. 2014-03-12 20:15:49 +00:00
ObjCARC Fix use_iterator crash in ObjCArc from r203364 2014-03-18 22:32:43 +00:00
PhaseOrdering [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
PruneEH [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
Reassociate [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
Reg2Mem [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
SCCP [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
SLPVectorizer Allow vectorization of intrinsics such as powi,cttz and ctlz in Loop and SLP Vectorizer. 2014-05-30 04:31:24 +00:00
SROA [SROA] Use the correct index integer size in GEPs through non-default 2014-02-26 10:08:16 +00:00
SampleProfile Tolerate unmangled names in sample profiles. 2014-03-18 12:03:12 +00:00
ScalarRepl Fix PR18800. llvm intrinsic memcpy takes 5 arguments void @llvm.memcpy.p0i8.p0i8.i32(i8* <dest>, i8* <src>, i32 <len>, i32 <align>, i1 <isvolatile>).The test case incorrectly uses the old format resulting in isVolatile function in MemIntrinsic to crash during SROA transformation.Modified the test case to use correct signature of memcpy and memset. 2014-03-13 04:50:29 +00:00
Scalarizer Fix Scalarizer insertion point when replacing PHIs with insertelements 2013-12-23 14:51:56 +00:00
SeparateConstOffsetFromGEP/NVPTX Fixed a test in r209670 2014-05-27 18:12:55 +00:00
SimplifyCFG Add ExtractValue instruction to SimplifyCFG's ComputeSpeculationCost 2014-05-09 17:02:46 +00:00
Sink Sink: Don't sink static allocas from the entry block 2014-03-21 15:51:51 +00:00
StripSymbols Add a debug info code generation level to the compile unit metadata 2014-02-27 01:24:56 +00:00
StructurizeCFG StructurizeCFG: Fix verification failure with some loops. 2013-11-22 19:24:39 +00:00
TailCallElim Improve 'tail' call marking in TRE. A bootstrap of clang goes from 375k calls marked tail in the IR to 470k, however this improvement does not carry into an improvement of the call/jmp ratio on x86. The most common pattern is a tail call + br to a block with nothing but a 'ret'. 2014-05-05 23:59:03 +00:00
TailDup [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00