forked from OSchip/llvm-project
77eeac3d9e
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 |
||
---|---|---|
.. | ||
AlwaysInliner.cpp | ||
ArgumentPromotion.cpp | ||
BarrierNoopPass.cpp | ||
BlockExtractor.cpp | ||
CMakeLists.txt | ||
CalledValuePropagation.cpp | ||
ConstantMerge.cpp | ||
CrossDSOCFI.cpp | ||
DeadArgumentElimination.cpp | ||
ElimAvailExtern.cpp | ||
ExtractGV.cpp | ||
ForceFunctionAttrs.cpp | ||
FunctionAttrs.cpp | ||
FunctionImport.cpp | ||
GlobalDCE.cpp | ||
GlobalOpt.cpp | ||
GlobalSplit.cpp | ||
IPConstantPropagation.cpp | ||
IPO.cpp | ||
InferFunctionAttrs.cpp | ||
InlineSimple.cpp | ||
Inliner.cpp | ||
Internalize.cpp | ||
LLVMBuild.txt | ||
LoopExtractor.cpp | ||
LowerTypeTests.cpp | ||
MergeFunctions.cpp | ||
PartialInlining.cpp | ||
PassManagerBuilder.cpp | ||
PruneEH.cpp | ||
SCCP.cpp | ||
SampleProfile.cpp | ||
StripDeadPrototypes.cpp | ||
StripSymbols.cpp | ||
SyntheticCountsPropagation.cpp | ||
ThinLTOBitcodeWriter.cpp | ||
WholeProgramDevirt.cpp |