1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/Analysis
Denis Antrushin 0fed823734 [SCEV] Constant fold MultExpr before applying depth limit.
Summary:
Users of SCEV reasonably assume that multiplication of two constant
SCEVs will in turn be constant.
However, that is not always the case:
First, we can get here with reached depth limit, and will create
MultExpr SCEV `C1 * C2` and cache it.
Then, we can get here with the same operands, but with small depth
level. But this time we will find existing MultExpr SCEV and return
it, instead of expected constant SCEV.

This patch changes getMultExpr to not apply depth limit to all constant
operands expression, allowing them to be folded.

Reviewers: reames, mkazantsev

Subscribers: hiraditya, javed.absar, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79893
2020-05-22 18:34:32 +03:00
..
AliasSet [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
AssumptionCache
BasicAA Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
BlockFrequencyInfo
BranchProbabilityInfo [BrachProbablityInfo] Set edge probabilities at once and fix calcMetadataWeights() 2020-05-21 12:52:37 +07:00
CallGraph
CFLAliasAnalysis
ConstantFolding [ConstantFold][SVE] Fix constant folding for scalable vector compare instruction. 2020-03-12 16:15:38 -07:00
CostModel [CostModel] Remove getExtCost 2020-05-21 07:18:06 +01:00
DDG [DDG] Data Dependence Graph - Graph Simplification 2020-02-19 13:41:51 -05:00
Delinearization
DemandedBits
DependenceAnalysis Require "target datalayout" to be at the beginning of an IR file. 2020-04-20 11:55:49 -07:00
DivergenceAnalysis [AMDGPU] New llvm.amdgcn.ballot intrinsic 2020-03-31 10:35:39 +02:00
DominanceFrontier
Dominators
GlobalsModRef Revert a107f86 "[GlobalsAA] Add back a check to intrinsic_addresstaken.ll to see if the AVX and AVX512 bots still fail for it." 2020-01-24 13:15:23 -08:00
IVUsers
LazyCallGraph
LazyValueAnalysis [LVI] Don't require DominatorTree in LVI (NFC) 2020-05-19 20:21:46 +02:00
LegacyDivergenceAnalysis Resubmit: [DA][TTI][AMDGPU] Add option to select GPUDA with TTI 2020-01-24 10:39:40 -08:00
Lint
LoopAccessAnalysis
LoopCacheAnalysis/PowerPC [LoopCacheAnalysis]: Add support for negative stride 2020-02-10 13:22:35 -05:00
LoopInfo
LoopNestAnalysis [LoopNest]: Analysis to discover properties of a loop nest. 2020-03-03 18:25:19 +00:00
MemoryDependenceAnalysis Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
MemorySSA StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
MustExecute Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
PhiValues
PostDominators
ProfileSummary
RegionInfo
ScalarEvolution [SCEV] Constant fold MultExpr before applying depth limit. 2020-05-22 18:34:32 +03:00
ScopedNoAliasAA
StackSafetyAnalysis [memtag] Plug in stack safety analysis. 2020-03-16 16:35:25 -07:00
TypeBasedAliasAnalysis Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
ValueTracking Make Value::getPointerAlignment() return an Align, not a MaybeAlign. 2020-05-20 16:37:20 -07:00
alias-analysis-uses.ll