1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/include/llvm/Analysis
Duncan P. N. Exon Smith 6db7f1cfaf Analysis: Only allow the move-constructor for IVUsers
Force IVUsers to be moved instead of copied, properly update Parent
pointers in IVStrideUse when IVUsers is moved, and make sure we have
move constructors available in iplist and ilist.

I came across this in a WIP patch that deleted the copy constructors
from ilist.  I was surprised to find that IVUsersAnalysis couldn't be
registered in the new pass manager.

It's not clear to me whether IVUsers was getting moved only when empty,
but if it was being moved when it was non-empty then this fixes a
pointer invalidation bug and should give some sort of speedup.  Note
that the bugfix would be necessary even for a copy constructor.

llvm-svn: 281181
2016-09-11 22:11:37 +00:00
..
AliasAnalysis.h [AA] Fix typo in comment (s/hase/has). 2016-09-08 00:48:12 +00:00
AliasAnalysisEvaluator.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
AliasSetTracker.h ADT: Remove ilist_*sentinel_traits, NFC 2016-08-22 20:51:00 +00:00
AssumptionCache.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
BasicAliasAnalysis.h [BasicAA] Avoid calling GetUnderlyingObject, when the result of a previous call can be reused. 2016-08-12 16:05:03 +00:00
BlockFrequencyInfo.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
BlockFrequencyInfoImpl.h [GraphTraits] Make nodes_iterator dereference to NodeType*/NodeRef 2016-08-19 21:20:13 +00:00
BranchProbabilityInfo.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
CallGraph.h s/static inline/static/ for headers I have changed in r279475. NFC. 2016-08-31 16:48:13 +00:00
CallGraphSCCPass.h [CallGraphSCCPass] Use an ArrayRef instead of a pair of iterators 2016-08-06 06:21:02 +00:00
CallPrinter.h
CaptureTracking.h
CFG.h
CFGPrinter.h Fix up comment from r280442, noticed by Justin. 2016-09-02 17:20:32 +00:00
CFLAndersAliasAnalysis.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
CFLSteensAliasAnalysis.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
CGSCCPassManager.h Fixup r279618, instantiate *AnalysisManagerProxy<*AnalysisManager,LazyCallGraph::SCC>, instead of *AnalysisManagerProxy<*AnalysisManager,LazyCallGraph::SCC,LazyCallGraph&>, for PassID. 2016-08-30 15:47:13 +00:00
CodeMetrics.h Pass EphValues by const-ref as it is not modified in the callee 2016-08-03 19:13:50 +00:00
ConstantFolding.h [ConstantFolding] Remove an unused ConstantFoldInstOperands overload 2016-07-29 03:27:33 +00:00
DemandedBits.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
DependenceAnalysis.h
DivergenceAnalysis.h
DominanceFrontier.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
DominanceFrontierImpl.h
DomPrinter.h
DOTGraphTraitsPass.h
EHPersonalities.h X86: permit using SjLj EH on x86 targets as an option 2016-05-31 01:48:07 +00:00
GlobalsModRef.h Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
IndirectCallPromotionAnalysis.h Refactor indirect call promotion profitability analysis (NFC) 2016-07-12 21:13:44 +00:00
IndirectCallSiteVisitor.h Refactor indirect call promotion profitability analysis (NFC) 2016-07-12 21:13:44 +00:00
InlineCost.h Make more fields of InlineParams Optional. 2016-08-11 03:58:05 +00:00
InstructionSimplify.h [InstSimplify] Cast folding can be made more generic 2016-07-26 17:58:05 +00:00
Interval.h s/static inline/static/ for headers I have changed in r279475. NFC. 2016-08-31 16:48:13 +00:00
IntervalIterator.h
IntervalPartition.h
IteratedDominanceFrontier.h IDFCalculator: Remove unused field. 2016-08-22 19:52:23 +00:00
IVUsers.h Analysis: Only allow the move-constructor for IVUsers 2016-09-11 22:11:37 +00:00
LazyBlockFrequencyInfo.h [BPI] Add new LazyBPI analysis 2016-07-28 23:31:12 +00:00
LazyBranchProbabilityInfo.h [BPI] Add new LazyBPI analysis 2016-07-28 23:31:12 +00:00
LazyCallGraph.h [PM] Introduce basic update capabilities to the new PM's CGSCC pass 2016-08-24 09:37:14 +00:00
LazyValueInfo.h [PM] Port LVI to the new PM. 2016-06-13 22:01:25 +00:00
Lint.h
Loads.h Fix Wdocumentation unknown parameter warning 2016-08-08 11:49:24 +00:00
LoopAccessAnalysis.h [Loop Vectorizer] Fixed memory confilict checks. 2016-08-28 08:53:53 +00:00
LoopInfo.h [LoopInfo] Add verification by recomputation. 2016-08-31 19:26:19 +00:00
LoopInfoImpl.h [LoopInfo] Add verification by recomputation. 2016-08-31 19:26:19 +00:00
LoopIterator.h [LV] Move LoopBodyTraits to a better place, and add comment for simplifying LoopBlocksTraversal. NFC. 2016-08-17 22:20:07 +00:00
LoopPass.h
LoopPassManager.h
LoopUnrollAnalyzer.h
MemoryBuiltins.h
MemoryDependenceAnalysis.h limit the number of instructions per block examined by dead store elimination 2016-08-26 16:34:27 +00:00
MemoryLocation.h
ModuleSummaryAnalysis.h [PM] Rework the new PM support for building the ModuleSummaryIndex to 2016-08-19 07:49:19 +00:00
ObjCARCAliasAnalysis.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
ObjCARCAnalysisUtils.h
ObjCARCInstKind.h
OptimizationDiagnosticInfo.h [Inliner] Report when inlining fails because callee's def is unavailable 2016-08-26 20:21:05 +00:00
OrderedBasicBlock.h
Passes.h
PHITransAddr.h
PostDominators.h [GraphTraits] Replace all NodeType usage with NodeRef 2016-08-22 21:09:30 +00:00
ProfileSummaryInfo.h Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
PtrUseVisitor.h
RegionInfo.h [ADT] Fix DepthFirstIterator's std::iterator base to have normal typedefs 2016-08-15 22:07:30 +00:00
RegionInfoImpl.h Fix the build for libstdc++ 4.7 2016-07-27 18:25:12 +00:00
RegionIterator.h [GraphTraits] Replace all NodeType usage with NodeRef 2016-08-22 21:09:30 +00:00
RegionPass.h
RegionPrinter.h
ScalarEvolution.h Revert "Enhance SCEV to compute the trip count for some loops with unknown stride." 2016-08-16 21:02:04 +00:00
ScalarEvolutionAliasAnalysis.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
ScalarEvolutionExpander.h [SCEV] Update interface to handle SCEVExpander insert point motion. 2016-08-11 21:05:17 +00:00
ScalarEvolutionExpressions.h [SCEV] Don't unnecessarily namespace; NFC 2016-06-23 18:03:32 +00:00
ScalarEvolutionNormalization.h
ScopedNoAliasAA.h [ScopedNoAliasAA] collectMDInDomain should be a free function 2016-08-15 03:56:06 +00:00
SparsePropagation.h
TargetFolder.h [ConstnatFolding] Teach the folder how to fold ConstantVector 2016-07-29 03:27:26 +00:00
TargetLibraryInfo.def Recommitting r275284: add support to inline __builtin_mempcpy 2016-07-29 18:23:18 +00:00
TargetLibraryInfo.h [PM] Redesign how the new PM detects whether an analysis result provides 2016-08-19 07:49:23 +00:00
TargetTransformInfo.h [LoopStrenghtReduce] Refactoring and addition of a new target cost function. 2016-08-17 13:24:19 +00:00
TargetTransformInfoImpl.h [LoopStrenghtReduce] Refactoring and addition of a new target cost function. 2016-08-17 13:24:19 +00:00
Trace.h
TypeBasedAliasAnalysis.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
TypeMetadataUtils.h IR: Introduce llvm.type.checked.load intrinsic. 2016-06-25 00:23:04 +00:00
ValueTracking.h Constify ValueTracking. NFC. 2016-08-13 01:05:32 +00:00
VectorUtils.h SLPVectorizer: Move propagateMetadata to VectorUtils 2016-06-30 21:17:59 +00:00