llvm-capstone/polly/lib/Analysis
Roman Lebedev 78b8ce40ef
Reland [SCEV] Improve modelling for (null) pointer constants
This reverts commit 329aeb5db4,
and relands commit 61f006ac65.

This is a continuation of D89456.

As it was suggested there, now that SCEV models `PtrToInt`,
we can try to improve SCEV's pointer handling.
In particular, i believe, i will need this in the future
to further fix `SCEVAddExpr`operation type handling.

This removes special handling of `ConstantPointerNull`
from `ScalarEvolution::createSCEV()`, and add constant folding
into `ScalarEvolution::getPtrToIntExpr()`.
This way, `null` constants stay as such in SCEV's,
but gracefully become zero integers when asked.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D98147
2021-03-13 16:05:34 +03:00
..
DependenceInfo.cpp [Polly] Regenerate isl-noexceptions.h. 2021-02-14 19:17:54 -06:00
PolyhedralInfo.cpp Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
PruneUnprofitable.cpp [Polly] Port PruneUnprofitable to the NewPM. 2021-02-09 23:56:20 -06:00
ScopBuilder.cpp Reland [SCEV] Improve modelling for (null) pointer constants 2021-03-13 16:05:34 +03:00
ScopDetection.cpp [Polly] Preserve DetectionContext references. 2021-02-13 03:36:09 -06:00
ScopDetectionDiagnostic.cpp Fix polly build after StringRef change. 2020-01-28 19:44:20 -08:00
ScopGraphPrinter.cpp [CFGPrinter][CallPrinter][polly] Adding distinct structure for CFGDOTInfo 2020-04-06 17:42:54 +00:00
ScopInfo.cpp [Polly] Regenerate isl-noexceptions.h. 2021-02-14 19:17:54 -06:00
ScopPass.cpp Apply include-what-you-use #include removal suggestions. NFC. 2019-03-28 20:19:49 +00:00