llvm-project/llvm/test/Transforms
Haicheng Wu 201b191b82 Recommit "[InlineCost] Use TTI to check if GEP is free." #3
This is the third attemp to recommit r292526.

The original summary:

Currently, a GEP is considered free only if its indices are all constant.
TTI::getGEPCost() can give target-specific more accurate analysis. TTI is
already used for the cost of many other instructions.

llvm-svn: 292633
2017-01-20 18:51:22 +00:00
..
ADCE [ADCE] Add code to remove dead branches 2016-12-13 16:42:18 +00:00
AddDiscriminators Introduce updateDiscriminator interface to DILocation to make it cleaner assigning discriminators. 2016-10-26 15:48:45 +00:00
AlignmentFromAssumptions
ArgumentPromotion
AtomicExpand
BBVectorize Introduce -unroll-partial-threshold to separate PartialThreshold from Threshold in loop unorller. 2017-01-17 23:39:33 +00:00
BDCE [BDCE] Skip metadata while replacing uses. 2016-12-07 21:47:32 +00:00
BranchFolding
CodeExtractor
CodeGenPrepare [Analysis] Centralize objectsize lowering logic. 2016-12-20 23:46:36 +00:00
ConstProp [InstCombiner] Simplify lib calls to `round{,f}` 2016-12-26 14:29:29 +00:00
ConstantHoisting
ConstantMerge
Coroutines [coroutines] Store an address of destroy OR cleanup part in the coroutine frame. 2016-10-08 00:22:50 +00:00
CorrelatedValuePropagation Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
CountingFunctionInserter Add a counter-function insertion pass 2016-09-01 09:42:39 +00:00
CrossDSOCFI
DCE llvm/test/Transforms/DCE/calls-errno.ll: Suppress checking @pow(+0,-1). 2016-11-04 18:50:45 +00:00
DeadArgElim DeadArgElim: Don't mark swifterror arguments as unused 2016-09-21 15:29:08 +00:00
DeadStoreElimination
EarlyCSE [EarlyCSE] Don't DSE across readnone functions that may throw 2017-01-17 20:15:47 +00:00
EliminateAvailableExternally
Float2Int
ForcedFunctionAttrs
FunctionAttrs IR, X86: Understand !absolute_symbol metadata on global variables. 2016-12-08 19:01:00 +00:00
FunctionImport [ThinLTO] Ensure callees get hot threshold when first seen on cold path 2016-12-15 18:21:01 +00:00
GCOVProfiling [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
GVN [AliasAnalysis] Fences do not modify constant memory location 2017-01-20 00:21:33 +00:00
GVNHoist Revert "[GVNHoist] Move GVNHoist to function simplification part of pipeline." 2016-12-17 01:53:15 +00:00
GlobalDCE Test the different scenarios of GlobalDCE and comdats more 2016-12-26 08:54:01 +00:00
GlobalMerge Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
GlobalOpt Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
GlobalSplit [GlobalSplit] Port to the new pass manager. 2016-11-21 00:28:23 +00:00
GuardWidening
IPConstantProp
IRCE [IRCE] Avoid loop optimizations on pre and post loops 2016-12-13 21:05:21 +00:00
IndVarSimplify [IndVars] Change the order to compute WidenAddRec in widenIVUse. 2016-11-15 17:34:52 +00:00
InferFunctionAttrs [InferAttributes] Don't access parameters that don't exist. 2016-09-20 23:10:31 +00:00
Inline Recommit "[InlineCost] Use TTI to check if GEP is free." #3 2017-01-20 18:51:22 +00:00
InstCombine [InstCombine][X86] Add MULDQ/MULUDQ undef handling 2017-01-20 18:20:30 +00:00
InstMerge
InstSimplify [ValueTracking] Extend known bits to understand @llvm.bitreverse. 2017-01-17 17:23:51 +00:00
InterleavedAccess/X86 Add a pass to optimize patterns of vectorized interleaved memory accesses for 2016-10-14 18:20:41 +00:00
Internalize
JumpThreading Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
LCSSA
LICM [PM] Port LoopSink to the new pass manager. 2017-01-20 08:42:19 +00:00
LoadCombine
LoadStoreVectorizer [LoadStoreVectorizer] Enable vectorization of stores in the presence of an aliasing load 2016-11-23 17:43:15 +00:00
LoopDataPrefetch [PM] Port LoopDataPrefetch AArch64 tests to new pass manager 2016-08-22 12:59:58 +00:00
LoopDeletion [PM] Teach LoopDeletion to correctly update the LPM when loops are 2017-01-18 02:41:26 +00:00
LoopDistribute Move test of lazy BFI with ORE to a generic directory 2017-01-13 00:16:23 +00:00
LoopIdiom Enable disabled loopidiom test. Apparently we handle it now 2017-01-03 19:08:05 +00:00
LoopInterchange [LoopInterchange] Track all dependencies, not just anti dependencies. 2016-09-21 19:16:47 +00:00
LoopLoadElim Fix LoopLoadElimination to keep original alignment on the inital hoisted store 2017-01-06 21:06:51 +00:00
LoopReroll [LoopReroll] Make root-finding more aggressive. 2016-11-21 22:35:34 +00:00
LoopRotate Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
LoopSimplify Make a test actually test what it set out to test. 2017-01-12 03:49:07 +00:00
LoopSimplifyCFG
LoopStrengthReduce [PM] Clean up the testing for IVUsers, especially with the new PM. 2017-01-15 09:29:27 +00:00
LoopUnroll Introduce -unroll-partial-threshold to separate PartialThreshold from Threshold in loop unorller. 2017-01-17 23:39:33 +00:00
LoopUnswitch [Loop Unswitch] Patch to selective unswitch only the reachable branch instructions. 2016-11-25 14:07:44 +00:00
LoopVectorize [LV] Run loop-simplify and LCSSA explicitly instead of "requiring" them 2017-01-19 00:42:28 +00:00
LoopVersioning [LDist] Match behavior between invoking via optimization pipeline or opt -loop-distribute 2016-12-21 04:07:40 +00:00
LoopVersioningLICM [Loop Vectorizer] Fixed memory confilict checks. 2016-08-28 08:53:53 +00:00
LowerAtomic
LowerExpectIntrinsic [Profile] handle select instruction in 'expect' lowering 2016-09-02 22:03:40 +00:00
LowerGuardIntrinsic
LowerInvoke
LowerSwitch
LowerTypeTests LowerTypeTests: Implement exporting of type identifiers. 2017-01-19 01:20:11 +00:00
Mem2Reg
MemCpyOpt [MemCpyOpt] Don't sink LoadInst below possible clobber. 2016-12-27 17:58:12 +00:00
MergeFunc
MetaRenamer
NameAnonGlobals [ThinLTO] Ensure anonymous globals renamed even at -O0 2016-09-17 20:40:16 +00:00
NaryReassociate Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
NewGVN NewGVN: Fix PR 31682, an overactive assert. 2017-01-20 06:38:41 +00:00
ObjCARC [ObjCARC] Traverse chain downwards to replace uses of argument passed to 2016-09-13 23:43:11 +00:00
PGOProfile Resubmit "[PGO] Turn off comdat renaming in IR PGO by default" 2017-01-11 20:19:41 +00:00
PartiallyInlineLibCalls Add positive test for sqrt "partial inlining". NFC. 2017-01-04 21:24:56 +00:00
PhaseOrdering
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH [PruneEH] Be correct in the face IPO 2016-10-03 19:35:30 +00:00
Reassociate Fixed the lost FastMathFlags in Reassociate optimization. 2016-11-22 20:23:04 +00:00
Reg2Mem
RewriteStatepointsForGC [RS4GC] Strengthen coverage: add more tests 2016-10-07 20:34:00 +00:00
SCCP [SCCP] Teach the pass how to handle `div` with overdefined operands. 2017-01-19 23:07:51 +00:00
SLPVectorizer [SLP] Initial test for fix of PR31690. 2017-01-20 18:40:21 +00:00
SROA [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
SafeStack [safestack] Use non-thread-local unsafe stack pointer for Contiki OS 2016-10-14 17:56:00 +00:00
SampleProfile Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
Scalarizer
SeparateConstOffsetFromGEP
SimplifyCFG Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
Sink
SpeculativeExecution SpeculativeExecution: Allow speculating more inst types 2016-10-28 20:00:33 +00:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
StructurizeCFG [StructurizeCfg] Update dominator info. 2017-01-10 02:50:47 +00:00
TailCallElim Avoid tail recursion elimination across calls with operand bundles 2016-11-07 21:01:49 +00:00
ThinLTOBitcodeWriter ThinLTOBitcodeWriter: Clear comdats on filtered globals. 2017-01-18 20:03:02 +00:00
Util [AliasAnalysis] Teach BasicAA about memcpy. 2016-12-25 22:42:27 +00:00
WholeProgramDevirt WholeProgramDevirt: Teach the pass to handle structs of arrays. 2016-12-09 01:10:11 +00:00