1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/Analysis
Roman Lebedev 47d13f688a Reland "[SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but as zext/trunc/self of SCEVUnknown"
This relands commit 1c021c64caef83cccb719c9bf0a2554faa6563af which was
reverted in commit 17cec6a11a12f815052d56a17ef738cf246a2d9a because
an assertion was being triggered, since `BuildConstantFromSCEV()`
wasn't updated to handle the case where the constant we want to truncate
is actually a pointer. I was unsuccessful in coming up with a test case
where we'd end there with constant zext/sext of a pointer,
so i didn't handle those cases there until there is a test case.

Original commit message:

While we indeed can't treat them as no-ops, i believe we can/should
do better than just modelling them as `unknown`. `inttoptr` story
is complicated, but for `ptrtoint`, it seems straight-forward
to model it just as a zext-or-trunc of unknown.

This may be important now that we track towards
making inttoptr/ptrtoint casts not no-op,
and towards preventing folding them into loads/etc
(see D88979/D88789/D88788)

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D88806
2020-10-12 23:02:55 +03:00
..
AliasSet
AssumptionCache
BasicAA Revert "[DSE] Switch to MemorySSA-backed DSE by default." 2020-09-26 18:35:27 +01:00
BlockFrequencyInfo
BranchProbabilityInfo
CallGraph
CFLAliasAnalysis
CostModel [X86][SSE2] Use smarter instruction patterns for lowering UMIN/UMAX with v8i16. 2020-10-11 11:21:23 +01:00
DDG
Delinearization
DemandedBits
DependenceAnalysis
DivergenceAnalysis [DA][SDA] SyncDependenceAnalysis re-write 2020-09-30 17:36:26 +02:00
DominanceFrontier
Dominators
FunctionPropertiesAnalysis
GlobalsModRef [test][NewPM] Make dead-uses.ll work under NPM 2020-10-06 07:33:02 -07:00
IRSimilarityIdentifier
IVUsers
LazyCallGraph
LazyValueAnalysis
LegacyDivergenceAnalysis
Lint
LoopAccessAnalysis
LoopCacheAnalysis/PowerPC
LoopInfo
LoopNestAnalysis
MemoryDependenceAnalysis
MemorySSA
MustExecute
PhiValues
PostDominators
ProfileSummary
RegionInfo
ScalarEvolution Reland "[SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but as zext/trunc/self of SCEVUnknown" 2020-10-12 23:02:55 +03:00
ScopedNoAliasAA
StackSafetyAnalysis
TypeBasedAliasAnalysis
ValueTracking
alias-analysis-uses.ll