1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/include/llvm/Analysis
Sanjoy Das e7714ded02 [SCEV] Reapply 'Exploit A < B => (A+K) < (B+K) when possible'
Summary:

This change teaches SCEV's `isImpliedCond` two new identities:

  A u< B u< -C          =>  (A + C) u< (B + C)
  A s< B s< INT_MIN - C =>  (A + C) s< (B + C)

While these are useful on their own, they're really intended to support
D12950.

The original checkin, r248606 had to be backed out due to an issue with
a ObjCXX unit test.  That issue is now fixed, so re-landing.

Reviewers: atrick, reames, majnemer, nlewycky, hfinkel

Subscribers: aadg, sanjoy, llvm-commits

Differential Revision: http://reviews.llvm.org/D12948

llvm-svn: 248637
2015-09-25 23:53:45 +00:00
..
AliasAnalysis.h [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
AliasSetTracker.h Reformat blank lines. 2015-09-14 12:51:47 +00:00
AssumptionCache.h -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 2015-08-03 22:30:24 +00:00
BasicAliasAnalysis.h BasicAA: Move BasicAAResult::alias out-of-line. NFC 2015-09-24 04:59:24 +00:00
BlockFrequencyInfo.h Add new constructors for LoopInfo/DominatorTree/BFI/BPI 2015-07-16 23:23:35 +00:00
BlockFrequencyInfoImpl.h Use fixed-point representation for BranchProbability. 2015-09-25 23:09:59 +00:00
BranchProbabilityInfo.h Add new constructors for LoopInfo/DominatorTree/BFI/BPI 2015-07-16 23:23:35 +00:00
CallGraph.h Revert r244127: [PM] Remove a failed attempt to port the CallGraph 2015-08-16 06:35:19 +00:00
CallGraphSCCPass.h Reformat partially. 2015-09-14 12:51:53 +00:00
CallPrinter.h
CaptureTracking.h [CaptureTracker] Provide an ordered basic block to PointerMayBeCapturedBefore 2015-07-31 14:31:35 +00:00
CFG.h [CaptureTracking] Avoid long compilation time on large basic blocks 2015-06-24 17:53:17 +00:00
CFGPrinter.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CFLAliasAnalysis.h [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
CGSCCPassManager.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CodeMetrics.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ConstantFolding.h [InstSimplify] Teach InstSimplify how to simplify extractelement 2015-07-13 01:15:53 +00:00
DemandedBits.h Separate out BDCE's analysis into a separate DemandedBits analysis. 2015-08-14 11:09:09 +00:00
DependenceAnalysis.h Reformat partially. 2015-09-14 12:51:53 +00:00
DivergenceAnalysis.h [DivergenceAnalysis] Separated definition of class into header. 2015-09-21 17:58:14 +00:00
DominanceFrontier.h Remove macro guards for extern template instantiations. 2015-07-13 17:21:31 +00:00
DominanceFrontierImpl.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DomPrinter.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DOTGraphTraitsPass.h Allow derived DOTViewers to choose the functions to illustrate 2015-08-03 16:37:12 +00:00
GlobalsModRef.h [GlobalsAA] Teach GlobalsAA about nocapture 2015-09-25 15:39:29 +00:00
InlineCost.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InstructionSimplify.h [InstSimplify] Teach InstSimplify how to simplify extractelement 2015-07-13 01:15:53 +00:00
Interval.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IntervalIterator.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IntervalPartition.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IteratedDominanceFrontier.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IVUsers.h -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 2015-08-03 22:30:24 +00:00
LazyCallGraph.h Fix -Wextra-semi warnings. 2015-07-22 20:46:11 +00:00
LazyValueInfo.h [LVI] Cleanup whitespaces. NFC 2015-07-28 15:53:21 +00:00
LibCallSemantics.h [PM/AA] Delete the LibCallAliasAnalysis and all the associated 2015-08-15 09:22:21 +00:00
Lint.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Loads.h Clean up: Refactoring the hardcoded value of 6 for FindAvailableLoadedValue()'s parameter MaxInstsToScan. (Complete version of r247497. See D12886) 2015-09-18 19:14:35 +00:00
LoopAccessAnalysis.h [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
LoopInfo.h Add new constructors for LoopInfo/DominatorTree/BFI/BPI 2015-07-16 23:23:35 +00:00
LoopInfoImpl.h Rename LoopInfo::Analyze() to LoopInfo::analyze() and turn its parameter type to const&. 2015-07-16 18:23:57 +00:00
LoopIterator.h
LoopPass.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MemoryBuiltins.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MemoryDependenceAnalysis.h Reformat blank lines. 2015-09-14 12:51:47 +00:00
MemoryLocation.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ObjCARCAliasAnalysis.h [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
ObjCARCAnalysisUtils.h [ARC] Pull the ObjC ARC components that really serve the role of 2015-08-20 08:06:03 +00:00
ObjCARCInstKind.h [ARC] Pull the ObjC ARC components that really serve the role of 2015-08-20 08:06:03 +00:00
OrderedBasicBlock.h [CaptureTracker] Provide an ordered basic block to PointerMayBeCapturedBefore 2015-07-31 14:31:35 +00:00
Passes.h [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
PHITransAddr.h Reformat partially. 2015-09-14 12:51:53 +00:00
PostDominators.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PtrUseVisitor.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
RegionInfo.h [RegionInfo] Remove unused and broken function splitBlock 2015-08-14 20:20:00 +00:00
RegionInfoImpl.h [RegionInfo] Remove unused and broken function splitBlock 2015-08-14 20:20:00 +00:00
RegionIterator.h
RegionPass.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
RegionPrinter.h [RegionInfo] Add debug-time region viewer functions 2015-08-10 13:21:59 +00:00
ScalarEvolution.h [SCEV] Reapply 'Exploit A < B => (A+K) < (B+K) when possible' 2015-09-25 23:53:45 +00:00
ScalarEvolutionAliasAnalysis.h [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
ScalarEvolutionExpander.h [SCEVExpander] Fix comment formatting; NFC. 2015-09-15 23:45:31 +00:00
ScalarEvolutionExpressions.h -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 2015-08-03 22:30:24 +00:00
ScalarEvolutionNormalization.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ScopedNoAliasAA.h [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
SparsePropagation.h Reformat partially. 2015-09-14 12:51:53 +00:00
TargetFolder.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
TargetLibraryInfo.def
TargetLibraryInfo.h Fix some comment typos. 2015-08-08 18:27:36 +00:00
TargetTransformInfo.h constify the Function parameter to the TTI creation callback and 2015-09-16 23:38:13 +00:00
TargetTransformInfoImpl.h set div/rem default values to 'expensive' in TargetTransformInfo's cost model 2015-09-23 22:28:18 +00:00
Trace.h
TypeBasedAliasAnalysis.h [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
ValueTracking.h Whitespace. 2015-09-14 11:14:39 +00:00
VectorUtils.h Whitespace. 2015-09-14 11:14:39 +00:00