1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/include/llvm/Analysis
Anna Thomas 146a9e87c5 [LV][LAA] Vectorize loop invariant values stored into loop invariant address
Summary:
We are overly conservative in loop vectorizer with respect to stores to loop
invariant addresses.
More details in https://bugs.llvm.org/show_bug.cgi?id=38546
This is the first part of the fix where we start with vectorizing loop invariant
values to loop invariant addresses.

This also includes changes to ORE for stores to invariant address.

Reviewers: anemet, Ayal, mkuper, mssimpso

Subscribers: llvm-commits

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

llvm-svn: 343028
2018-09-25 20:57:20 +00:00
..
Utils Add missing header 2018-06-04 21:33:56 +00:00
AliasAnalysis.h [MSSA] Print more optimization information 2018-06-14 19:55:53 +00:00
AliasAnalysisEvaluator.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
AliasSetTracker.h Test commit: remove trailing whitespace 2018-09-11 17:28:43 +00:00
AssumptionCache.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
BasicAliasAnalysis.h [BasicAA] Use PhiValuesAnalysis if available when handling phi alias 2018-07-30 11:52:08 +00:00
BlockFrequencyInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
BlockFrequencyInfoImpl.h Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
BranchProbabilityInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
CallGraph.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
CallGraphSCCPass.h [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes. Also affected in files (NFC). 2017-08-31 21:56:16 +00:00
CallPrinter.h
CaptureTracking.h [CaptureTracking] Fixup const correctness of DomTree arg (NFC) 2018-04-24 21:12:45 +00:00
CFG.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
CFGPrinter.h Revert "Extend CFGPrinter and CallPrinter with Heat Colors" 2018-06-29 17:48:58 +00:00
CFLAliasAnalysisUtils.h
CFLAndersAliasAnalysis.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
CFLSteensAliasAnalysis.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
CGSCCPassManager.h [New PM] Introducing PassInstrumentation framework 2018-09-20 17:08:45 +00:00
CmpInstAnalysis.h [InstCombine][InstSimplify] Teach decomposeBitTestICmp to look through truncate instructions 2017-09-01 21:27:34 +00:00
CodeMetrics.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
ConstantFolding.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DemandedBits.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DependenceAnalysis.h [DA] Delinearise AddRecs if we can prove they don't wrap 2018-06-25 15:13:26 +00:00
DominanceFrontier.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
DominanceFrontierImpl.h IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
DomPrinter.h
DOTGraphTraitsPass.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
EHPersonalities.h [WebAssembly] Add Wasm personality and isScopedEHPersonality() 2018-05-17 20:52:03 +00:00
GlobalsModRef.h
GuardUtils.h Re-enable "[NFC] Unify guards detection" 2018-08-30 03:39:16 +00:00
IndirectCallPromotionAnalysis.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
IndirectCallSiteVisitor.h Add header guards to some headers that are missing them 2018-09-03 16:22:05 +00:00
InlineCost.h Enrich inline messages 2018-08-05 14:53:08 +00:00
InstructionPrecedenceTracking.h [NFC] Simplify inner structure of InstructionPrecedenceTracking 2018-09-06 09:29:42 +00:00
InstructionSimplify.h [InstrSimplify,NewGVN] Add option to ignore additional instr info when simplifying. 2018-08-17 14:39:04 +00:00
Interval.h
IntervalIterator.h
IntervalPartition.h
IteratedDominanceFrontier.h [IDF] Make GraphDiff a const constructor argument. 2018-08-23 21:56:30 +00:00
IVDescriptors.h Break LoopUtils into an Analysis file. 2018-09-12 01:59:43 +00:00
IVUsers.h
LazyBlockFrequencyInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
LazyBranchProbabilityInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
LazyCallGraph.h
LazyValueInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
LegacyDivergenceAnalysis.h [NFC] Rename the DivergenceAnalysis to LegacyDivergenceAnalysis 2018-08-30 14:21:36 +00:00
Lint.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
Loads.h
LoopAccessAnalysis.h [LV][LAA] Vectorize loop invariant values stored into loop invariant address 2018-09-25 20:57:20 +00:00
LoopAnalysisManager.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
LoopInfo.h [LoopInfo] Port loop exit interfaces from Loop to LoopBase 2018-07-09 17:52:49 +00:00
LoopInfoImpl.h [LoopInfo] Port loop exit interfaces from Loop to LoopBase 2018-07-09 17:52:49 +00:00
LoopIterator.h [LV][CFG] Add irreducible CFG detection for outer loops 2018-03-02 12:24:25 +00:00
LoopPass.h Use a BumpPtrAllocator for Loop objects 2017-09-28 02:45:42 +00:00
LoopUnrollAnalyzer.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MemoryBuiltins.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MemoryDependenceAnalysis.h [MemDep] Use PhiValuesAnalysis to improve alias analysis results 2018-07-31 14:19:29 +00:00
MemoryLocation.h [AST] Generalize argument specific aliasing 2018-09-07 21:36:11 +00:00
MemorySSA.h API to update MemorySSA for cloned blocks and added CFG edges. 2018-09-10 20:13:01 +00:00
MemorySSAUpdater.h API to update MemorySSA for cloned blocks and added CFG edges. 2018-09-10 20:13:01 +00:00
ModuleSummaryAnalysis.h [Analysis] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-08-16 22:07:40 +00:00
MustExecute.h [NFC] Factor out predecessors collection into a separate method 2018-08-21 07:15:06 +00:00
ObjCARCAliasAnalysis.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
ObjCARCAnalysisUtils.h ProvenanceAnalysis: Store WeakTrackingVH instead of Value* in UnderlyingValue Cache. 2018-06-21 05:14:00 +00:00
ObjCARCInstKind.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
OptimizationRemarkEmitter.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
OrderedBasicBlock.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
OrderedInstructions.h [NFC] Move OrderedInstructions and InstructionPrecedenceTracking to Analysis 2018-08-30 04:49:03 +00:00
Passes.h [NFC] Rename the DivergenceAnalysis to LegacyDivergenceAnalysis 2018-08-30 14:21:36 +00:00
PHITransAddr.h [Docs] Escape the @ symbol, so that it appears in documentation output. [NFC] 2018-04-26 21:55:45 +00:00
PhiValues.h [PhiValues] Use callback value handles to invalidate deleted values 2018-08-24 15:48:30 +00:00
PostDominators.h [Dominators] Add PDT constructor from Function 2018-05-23 17:29:21 +00:00
ProfileSummaryInfo.h [SampleFDO] Don't treat warm callsite with inline instance in the profile as cold 2018-05-10 23:02:27 +00:00
PtrUseVisitor.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
RegionInfo.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
RegionInfoImpl.h Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
RegionIterator.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
RegionPass.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
RegionPrinter.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
ScalarEvolution.h [SCEV] Re-apply r335197 (with Polly fixes). 2018-06-21 21:29:54 +00:00
ScalarEvolutionAliasAnalysis.h
ScalarEvolutionExpander.h [SCEV] Add an expandAddToGEP overload for a single operand. NFC. 2018-07-26 21:55:03 +00:00
ScalarEvolutionExpressions.h Revert "[SCEV] Use LLVM_MARK_AS_BITMASK_ENUM in SCEV." -- breaks MSVC builds. 2018-06-16 00:14:10 +00:00
ScalarEvolutionNormalization.h
ScopedNoAliasAA.h [Analysis] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-08-18 23:51:26 +00:00
SparsePropagation.h [IR] Sink isExceptional predicate to Instruction, rename it to 2018-08-26 08:56:42 +00:00
SyntheticCountsUtils.h Remove CallGraphTraits and use equivalent methods in GraphTraits 2018-02-01 19:40:35 +00:00
TargetFolder.h
TargetLibraryInfo.def [SimplifyLibcalls] Replace locked IO with unlocked IO 2018-05-16 11:39:52 +00:00
TargetLibraryInfo.h TargetLibraryInfo: Stop guessing wchar_t size 2017-09-26 02:36:57 +00:00
TargetTransformInfo.h [NFC] Rename the DivergenceAnalysis to LegacyDivergenceAnalysis 2018-08-30 14:21:36 +00:00
TargetTransformInfoImpl.h Set cost of invariant group intrinsics to 0 2018-09-07 22:29:48 +00:00
Trace.h
TypeBasedAliasAnalysis.h [Analysis] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-08-18 23:51:26 +00:00
TypeMetadataUtils.h [Docs] Escape the @ symbol, so that it appears in documentation output. [NFC] 2018-04-26 21:55:45 +00:00
ValueLattice.h [ValueLattice] Return false if value range did not change in mergeIn. 2018-06-27 12:57:51 +00:00
ValueLatticeUtils.h [IPSCCP] Move common functions to ValueLatticeUtils (NFC) 2017-10-13 17:53:44 +00:00
ValueTracking.h Merge clang's isRepeatedBytePattern with LLVM's isBytewiseValue 2018-09-21 05:17:42 +00:00
VectorUtils.h [LV] Move InterleaveGroup and InterleavedAccessInfo to VectorUtils.h (NFC) 2018-09-12 08:01:57 +00:00