llvm-project/llvm/lib
Roman Lebedev 61f006ac65
[SCEV] Improve modelling for (null) pointer constants
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-12 22:11:58 +03:00
..
Analysis [SCEV] Improve modelling for (null) pointer constants 2021-03-12 22:11:58 +03:00
AsmParser [DebugInfo] Add DIArgList MD to store multple values in DbgVariableIntrinsics 2021-03-05 17:02:24 +00:00
BinaryFormat [WebAssembly] Add new relocation for location relative data 2021-03-08 11:34:10 -08:00
Bitcode [DebugInfo] Support DIArgList in DbgVariableIntrinsic 2021-03-08 14:36:13 +00:00
Bitstream [llvm] Use llvm::append_range (NFC) 2021-01-06 18:27:33 -08:00
CodeGen GlobalISel: Fix marking byval arguments as immutable 2021-03-12 09:01:53 -05:00
DWARFLinker [llvm] Add assertions for the smart pointers with the possibility to be null in DWARFLinker::loadClangModule 2021-02-27 10:14:39 +03:00
DebugInfo Re-land "[PDB] Defer relocating .debug$S until commit time and parallelize it" 2021-03-10 15:14:09 -08:00
Demangle [Demangle] Support demangling Swift calling convention in MS demangler. 2021-01-27 13:24:54 -08:00
ExecutionEngine [Orc] Fix race condition in DebugObjectManagerPlugin 2021-03-12 14:04:09 +01:00
Extensions
FileCheck [FileCheck] Add support for hex alternate form in FileCheck 2021-03-12 18:14:17 +00:00
Frontend Revert "[OpenMP] Do not propagate match extensions to nested contexts" 2021-03-11 23:48:36 -06:00
FuzzMutate [FuzzMutate] Add mutator to modify instruction flags. 2021-01-23 19:05:20 +00:00
Fuzzer
IR Revert "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-03-11 14:48:01 +00:00
IRReader static const char *const foo => const char foo[] 2020-12-01 10:33:18 -08:00
InterfaceStub [elfabi] Fix a bug when .dynsym contains no non-local symbol 2021-02-19 11:36:53 -08:00
LTO llvm-lto: default Relocation Model should be selected by the TargetMachine. 2021-03-10 17:31:26 -05:00
LineEditor
Linker [llvm-link] fix IRMover returning wrong modified vector type 2021-02-22 11:29:42 +00:00
MC [AsmParser][SystemZ][z/OS] Introducing HLASM Comment Syntax 2021-03-12 11:56:11 -05:00
MCA [MCA] Support in-order CPUs with MicroOpBufferSize=1 2021-03-11 10:12:54 +00:00
Object [llvm-objcopy][NFC] replace class Buffer/MemBuffer/FileBuffer with streams. 2021-03-10 23:50:04 +03:00
ObjectYAML Read NumBlocks as uint64_t. 2021-03-08 16:46:13 -08:00
Option [clang][cli] NFC: Remove ArgList infrastructure for recording queries 2021-02-25 13:53:24 +01:00
Passes Remove original implementation of UniqueInternalLinkageNames pass. 2021-03-10 11:57:40 -08:00
ProfileData Revert "[IndirectCallPromotion] Don't strip ".__uniq." suffix when it strips" 2021-03-12 10:03:58 -05:00
Remarks Add intrinsics_gen as a dependency of libRemarks 2021-03-08 14:17:27 -08:00
Support Save and restore previous terminal after setting the terminal for checking if terminal supports colors. 2021-03-11 10:47:06 +01:00
TableGen [TableGen] Use range-based for loops (NFC) 2021-03-06 15:52:55 -08:00
Target [RISCV] Add support for scalable vector masked load/store. 2021-03-12 10:32:33 -08:00
Testing [clangd] Implement semanticTokens modifiers 2021-02-09 16:31:22 +01:00
TextAPI [lld-macho] Change loadReexport to handle the case where a TAPI re-exports to reference documents nested within other TBD. 2021-03-02 12:14:31 -05:00
ToolDrivers llvm-lib: Pull error printing code out of two functions 2021-01-26 19:13:30 -05:00
Transforms [LV] Account IV recipes being uniform in VPTransformState::get(). 2021-03-12 13:29:06 +00:00
WindowsManifest
XRay [lib/Object, tools] - Make ELFObjectFile::getELFFile return reference. 2020-12-04 16:02:29 +03:00
CMakeLists.txt