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
Daniel Neilson 20550447c7 [DSE] Teach the pass that atomic memory intrinsics are stores.
Summary:
This change teaches DSE that the atomic memory intrinsics are stores
that can be eliminated, and can allow other stores to be eliminated.
This change specifically does not teach DSE that these intrinsics
can be partially eliminated (i.e. length reduced, and dest/src changed);
that will be handled in another change.

Reviewers: mkazantsev, skatkov, apilipenko, efriedma, rsmith

Reviewed By: efriedma

Subscribers: dmgreen, llvm-commits

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

llvm-svn: 330629
2018-04-23 19:06:49 +00:00
..
Utils Fix a couple of layering violations in Transforms 2018-03-21 22:34:23 +00:00
AliasAnalysis.h [AliasAnalysis] Shrink AliasResults; NFC 2018-03-10 03:34:43 +00:00
AliasAnalysisEvaluator.h [ModRefInfo] Add must alias info to ModRefInfo. 2017-12-21 21:41:53 +00:00
AliasSetTracker.h [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-07-24 23:16:33 +00:00
AssumptionCache.h [Analysis, Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-01 21:37:29 +00:00
BasicAliasAnalysis.h [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-11 21:30:02 +00:00
BlockFrequencyInfo.h Revert r320104: infinite loop profiling bug fix 2017-12-08 19:38:07 +00:00
BlockFrequencyInfoImpl.h MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
BranchProbabilityInfo.h [BranchProbabilityInfo] Handle irreducible loops. 2017-11-01 15:16:50 +00:00
CallGraph.h Remove CallGraphTraits and use equivalent methods in GraphTraits 2018-02-01 19:40:35 +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
CFG.h [LV][CFG] Add irreducible CFG detection for outer loops 2018-03-02 12:24:25 +00:00
CFGPrinter.h [IR] Redesign the case iterator in SwitchInst to actually be an iterator 2017-04-12 07:27:28 +00:00
CFLAliasAnalysisUtils.h [CFLAA] Move FunctionHandle to llvm::cflaa. 2017-06-27 02:43:00 +00:00
CFLAndersAliasAnalysis.h [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-11 21:30:02 +00:00
CFLSteensAliasAnalysis.h [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-11 21:30:02 +00:00
CGSCCPassManager.h [NFC] fix trivial typos in comments 2018-01-23 05:49:30 +00:00
CmpInstAnalysis.h [InstCombine][InstSimplify] Teach decomposeBitTestICmp to look through truncate instructions 2017-09-01 21:27:34 +00:00
CodeMetrics.h Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
ConstantFolding.h [Evaluator] Evaluate load/store with bitcast 2018-03-13 10:19:50 +00:00
DemandedBits.h Prune whitespaces in blank lines. 2017-08-28 07:48:37 +00:00
DependenceAnalysis.h [PM] Change the static object whose address is used to uniquely identify 2016-11-23 17:53:26 +00:00
DivergenceAnalysis.h StructurizeCFG: Test for branch divergence correctly 2018-04-04 10:58:15 +00:00
DominanceFrontier.h Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
DominanceFrontierImpl.h Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
DomPrinter.h
DOTGraphTraitsPass.h [DOTGraphTraits] Propagate Graph template argument, NFC 2017-07-24 12:55:00 +00:00
EHPersonalities.h [tsan] Add support for C++ exceptions into TSan (call __tsan_func_exit during unwinding), LLVM part 2016-11-14 21:41:13 +00:00
GlobalsModRef.h [PM] Change the static object whose address is used to uniquely identify 2016-11-23 17:53:26 +00:00
IndirectCallPromotionAnalysis.h Separate the ICP total threshold and remaining threshold. 2017-07-28 01:02:54 +00:00
IndirectCallSiteVisitor.h IndirectCallSiteVisitor.h:findIndirectCallSites Don't mark header functions as file-scope static 2017-10-24 17:29:12 +00:00
InlineCost.h [NFC] fix trivial typos in comments 2018-01-23 05:49:30 +00:00
InstructionSimplify.h [NFC] Extract out a helper function for SimplifyCall(CS, Q) 2017-12-27 00:16:12 +00:00
Interval.h [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-07-24 23:16:33 +00:00
IntervalIterator.h [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-07-24 23:16:33 +00:00
IntervalPartition.h [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-07-24 23:16:33 +00:00
IteratedDominanceFrontier.h [Dominators] Make IsPostDominator a template parameter 2017-07-14 18:26:09 +00:00
IVUsers.h Rename WeakVH to WeakTrackingVH; NFC 2017-05-01 17:07:49 +00:00
LazyBlockFrequencyInfo.h [LazyBFI] Fix typos 2017-02-14 17:21:12 +00:00
LazyBranchProbabilityInfo.h [BPI] Don't assume that strcmp returning >0 is more likely than <0 2017-06-08 09:44:40 +00:00
LazyCallGraph.h [Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-08-11 21:30:02 +00:00
LazyValueInfo.h [JumpThreading] PR36133 enable/disable DominatorTree for LVI analysis 2018-02-16 16:35:17 +00:00
Lint.h
Loads.h Make visible isDereferenceableAndAlignedPointer(..., const APInt &Size, ...) 2017-06-24 01:35:13 +00:00
LoopAccessAnalysis.h [SLP] Fix PR36481: vectorize reassociated instructions. 2018-04-03 17:14:47 +00:00
LoopAnalysisManager.h Add MemorySSA as loop dependency, disabled by default [NFC]. 2017-11-21 15:45:46 +00:00
LoopInfo.h [NFC] fix trivial typos in documents and comments 2018-04-12 05:53:20 +00:00
LoopInfoImpl.h [include] Change std::sort to llvm::sort in response to r327219 2018-04-01 18:39:50 +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 Revert "Revert "[Unroll] Implement a conservative and monotonically increasing cost tracking system during the full unroll heuristic analysis that avoids counting any instruction cost until that instruction becomes "live" through a side-effect or use outside the..."" 2016-05-13 21:23:25 +00:00
MemoryBuiltins.h MemoryBuiltins.h: Don't mark header functions as file-scope static 2017-10-24 17:29:13 +00:00
MemoryDependenceAnalysis.h Revert "[memcpyopt] Teach memcpyopt to optimize across basic blocks" 2017-12-28 05:10:33 +00:00
MemoryLocation.h [DSE] Teach the pass that atomic memory intrinsics are stores. 2018-04-23 19:06:49 +00:00
MemorySSA.h [MemorySSA] Split PtrIntPair as this fails on win/arm. 2018-03-08 19:15:00 +00:00
MemorySSAUpdater.h [MemorySSAUpdater] Mark Phi users of a node being moved as non-optimize 2018-04-09 20:55:37 +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 Add missing #includes to Analysis/MustExecute.h 2018-03-21 17:31:45 +00:00
ObjCARCAliasAnalysis.h [PM] Extend the explicit 'invalidate' method API on analysis results to 2016-11-28 22:04:31 +00:00
ObjCARCAnalysisUtils.h Improve caching scheme in ProvenanceAnalysis. 2018-03-12 20:36:25 +00:00
ObjCARCInstKind.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
OptimizationRemarkEmitter.h Rename OptimizationDiagnosticInfo.* to OptimizationRemarkEmitter.* 2017-10-09 23:19:02 +00:00
OrderedBasicBlock.h Revert "Make OrderedInstructions and OrderedBasicBlock use AssertingVH, to try and catch mistakes" 2017-06-28 22:35:54 +00:00
Passes.h Add an analysis printer for must execute reasoning 2018-03-20 17:09:21 +00:00
PHITransAddr.h Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
PostDominators.h [Dominators] Remove verifyDomTree and add some verifying for Post Dom Trees 2018-02-28 11:00:08 +00:00
ProfileSummaryInfo.h [PGO] Function section hotness prefix should look at all blocks 2017-12-20 17:53:10 +00:00
PtrUseVisitor.h [NFC] fix trivial typos in comments and documents 2018-01-29 05:17:03 +00:00
RegionInfo.h Declare PostDominatorTree as a class 2018-02-09 18:41:42 +00:00
RegionInfoImpl.h RegionInfo: Use report_fatal_error instead of llvm_unreachable 2018-01-05 17:51:36 +00:00
RegionIterator.h Test commit 2017-06-29 09:46:01 +00:00
RegionPass.h Add opt-bisect support for region passes. 2017-06-01 21:22:26 +00:00
RegionPrinter.h
ScalarEvolution.h [LoopSimplify] Fix incorrect SCEV invalidation 2018-04-23 10:32:37 +00:00
ScalarEvolutionAliasAnalysis.h [PM] Change the static object whose address is used to uniquely identify 2016-11-23 17:53:26 +00:00
ScalarEvolutionExpander.h [NFC] fix trivial typos in documents and comments 2018-04-12 05:53:20 +00:00
ScalarEvolutionExpressions.h [SCEV] Make getPostIncExpr guaranteed to return AddRec 2018-02-12 05:09:38 +00:00
ScalarEvolutionNormalization.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
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 [SparsePropagation] Enable interprocedural analysis 2017-10-16 17:44:17 +00:00
SyntheticCountsUtils.h Remove CallGraphTraits and use equivalent methods in GraphTraits 2018-02-01 19:40:35 +00:00
TargetFolder.h [ConstnatFolding] Teach the folder how to fold ConstantVector 2016-07-29 03:27:26 +00:00
TargetLibraryInfo.def [Analysis] Support aligned new/delete functions. 2018-04-04 19:01:51 +00:00
TargetLibraryInfo.h TargetLibraryInfo: Stop guessing wchar_t size 2017-09-26 02:36:57 +00:00
TargetTransformInfo.h [LV] Introduce TTI::getMinimumVF 2018-04-13 20:16:32 +00:00
TargetTransformInfoImpl.h [LV] Introduce TTI::getMinimumVF 2018-04-13 20:16:32 +00:00
Trace.h [Analysis] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-07-21 21:37:46 +00:00
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 [cfi] CFI-ICall for ThinLTO. 2017-06-16 00:18:29 +00:00
ValueLattice.h [IPSCCP] Add getCompare which returns either true, false, undef or null. 2018-03-05 17:33:50 +00:00
ValueLatticeUtils.h [IPSCCP] Move common functions to ValueLatticeUtils (NFC) 2017-10-13 17:53:44 +00:00
ValueTracking.h [NFC] Factor out a helper function for checking if a block has a potential early implicit exit. 2018-03-08 21:25:30 +00:00
VectorUtils.h [LV] Move interleaved access helper functions to VectorUtils (NFC) 2017-02-01 17:45:46 +00:00