Skip to content
  • Manoj Gupta's avatar
    llvm: Add support for "-fno-delete-null-pointer-checks" · 77eeac3d
    Manoj Gupta authored
    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
    77eeac3d
Loading