1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/unittests/Analysis
Manoj Gupta 647946fa14 llvm: Add support for "-fno-delete-null-pointer-checks"
Summary:
Support for this option is needed for building Linux kernel.
This is a very frequently requested feature by kernel developers.

More details : https://lkml.org/lkml/2018/4/4/601

GCC option description for -fdelete-null-pointer-checks:
This Assume that programs cannot safely dereference null pointers,
and that no code or data element resides at address zero.

-fno-delete-null-pointer-checks is the inverse of this implying that
null pointer dereferencing is not undefined.

This feature is implemented in LLVM IR in this CL as the function attribute
"null-pointer-is-valid"="true" in IR (Under review at D47894).
The CL updates several passes that assumed null pointer dereferencing is
undefined to not optimize when the "null-pointer-is-valid"="true"
attribute is present.

Reviewers: t.p.northover, efriedma, jyknight, chandlerc, rnk, srhines, void, george.burgess.iv

Reviewed By: efriedma, george.burgess.iv

Subscribers: eraman, haicheng, george.burgess.iv, drinkcat, theraven, reames, sanjoy, xbolva00, llvm-commits

Differential Revision: https://reviews.llvm.org/D47895

llvm-svn: 336613
2018-07-09 22:27:23 +00:00
..
AliasAnalysisTest.cpp llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
AliasSetTrackerTest.cpp
BlockFrequencyInfoTest.cpp Remove redundant includes from unittests. 2017-12-13 21:31:05 +00:00
BranchProbabilityInfoTest.cpp
CallGraphTest.cpp
CFGTest.cpp
CGSCCPassManagerTest.cpp
CMakeLists.txt Add a PhiValuesAnalysis pass to calculate the underlying values of phis 2018-06-28 14:13:06 +00:00
GlobalsModRefTest.cpp
LazyCallGraphTest.cpp [unittests] Change std::sort to llvm::sort in response to r327219 2018-04-07 01:29:45 +00:00
LoopInfoTest.cpp
MemoryBuiltinsTest.cpp
MemorySSA.cpp llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
OrderedBasicBlockTest.cpp
PhiValuesTest.cpp [PhiValues] Adjust unit test to invalidate instructions before deleting them 2018-06-28 15:17:07 +00:00
ProfileSummaryInfoTest.cpp Remove redundant includes from unittests. 2017-12-13 21:31:05 +00:00
ScalarEvolutionTest.cpp [SCEV] Do not cache S -> V if S is not equivalent of V 2018-01-09 06:47:14 +00:00
SparsePropagation.cpp
TargetLibraryInfoTest.cpp [SimplifyLibcalls] Replace locked IO with unlocked IO 2018-05-16 11:39:52 +00:00
TBAATest.cpp
UnrollAnalyzer.cpp
ValueLatticeTest.cpp [ValueLattice] Return false if value range did not change in mergeIn. 2018-06-27 12:57:51 +00:00
ValueTrackingTest.cpp Infer lowest bits of an integer Multiply when the low bits of the operands are known 2017-12-09 23:25:57 +00:00