Manoj Gupta
c6da6867a1
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336613 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-09 22:27:23 +00:00
..
2017-12-22 17:09:09 +00:00
2017-08-07 17:08:44 +00:00
2017-12-22 02:08:08 +00:00
2017-07-15 02:12:16 +00:00
2017-07-15 02:12:16 +00:00
2015-06-17 20:52:32 +00:00
2015-06-17 20:52:32 +00:00
2015-06-17 20:52:32 +00:00
2015-06-17 20:52:32 +00:00
2015-06-17 20:52:32 +00:00
2015-06-17 20:52:32 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2017-04-10 20:18:21 +00:00
2018-05-09 02:40:45 +00:00
2018-05-09 02:40:45 +00:00
2018-07-06 08:04:47 +00:00
2017-02-27 22:33:02 +00:00
2016-12-27 07:18:43 +00:00
2018-07-09 22:27:23 +00:00
2017-06-09 03:29:20 +00:00
2017-02-14 22:49:28 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2018-01-10 13:01:18 +00:00
2015-06-17 20:52:32 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 02:47:37 +00:00
2017-08-02 02:09:22 +00:00
2017-07-09 13:45:11 +00:00
2017-03-09 11:35:40 +00:00
2018-03-23 21:46:16 +00:00
2017-01-24 12:55:57 +00:00
2016-12-27 07:18:43 +00:00
2016-06-15 00:19:09 +00:00
2017-04-10 20:18:21 +00:00
2015-06-17 20:52:32 +00:00
2018-05-09 02:40:45 +00:00
2016-04-15 15:57:41 +00:00
2015-12-19 22:40:28 +00:00
2016-05-12 01:17:38 +00:00
2018-07-04 13:28:39 +00:00
2016-12-28 11:07:33 +00:00
2016-06-15 00:19:09 +00:00
2016-11-28 11:07:37 +00:00
2016-12-27 02:47:37 +00:00
2016-12-27 07:18:43 +00:00
2017-01-20 22:44:04 +00:00
2017-01-20 22:44:04 +00:00
2017-01-20 22:44:04 +00:00
2016-03-31 00:18:46 +00:00
2017-07-28 20:21:02 +00:00
2016-12-27 06:46:16 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2018-05-09 02:40:45 +00:00
2016-12-27 02:47:37 +00:00
2016-12-27 01:24:50 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2018-06-28 20:07:47 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2018-04-04 21:46:27 +00:00
2016-12-27 07:18:43 +00:00
2017-01-20 22:44:04 +00:00
2017-06-27 23:11:18 +00:00
2017-08-24 21:37:04 +00:00
2017-06-27 23:11:18 +00:00
2017-05-11 21:36:28 +00:00
2017-05-08 17:37:33 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2017-05-16 21:18:09 +00:00
2017-01-20 22:44:04 +00:00
2017-05-04 16:58:45 +00:00
2018-01-19 17:13:12 +00:00
2016-12-27 07:18:43 +00:00
2016-11-14 11:14:41 +00:00
2017-06-21 18:46:50 +00:00
2017-06-22 23:22:36 +00:00
2018-04-02 21:23:16 +00:00
2016-05-19 23:02:09 +00:00
2018-01-28 19:11:49 +00:00
2018-01-19 17:13:12 +00:00
2017-03-16 10:45:42 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 02:47:37 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2017-09-05 20:14:58 +00:00
2017-08-02 20:35:29 +00:00
2017-08-02 20:35:29 +00:00
2018-01-29 05:17:03 +00:00
2018-05-23 09:16:44 +00:00
2017-04-10 20:18:21 +00:00
2017-04-10 20:18:21 +00:00
2017-07-28 20:21:02 +00:00
2017-03-16 10:13:55 +00:00
2016-12-20 03:15:32 +00:00
2015-11-22 00:16:24 +00:00
2018-01-19 17:13:12 +00:00
2015-11-22 00:16:24 +00:00
2016-12-27 06:46:20 +00:00
2016-12-27 07:18:43 +00:00
2018-05-09 02:40:45 +00:00
2018-05-09 02:40:45 +00:00
2017-08-21 16:45:47 +00:00
2018-05-09 02:40:45 +00:00
2018-05-08 01:45:46 +00:00
2016-12-27 07:18:43 +00:00
2017-05-14 02:58:39 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2017-08-14 21:25:00 +00:00
2016-12-27 07:18:43 +00:00
2017-07-01 03:29:33 +00:00
2016-06-27 16:50:18 +00:00
2017-05-22 20:28:18 +00:00
2017-05-22 20:28:18 +00:00
2016-12-27 07:18:43 +00:00
2018-01-04 18:23:40 +00:00
2017-08-19 06:56:11 +00:00
2017-12-19 13:42:58 +00:00
2015-03-20 18:33:12 +00:00
2016-12-27 07:18:43 +00:00
2016-12-27 07:18:43 +00:00
2017-07-28 21:47:36 +00:00
2016-12-27 07:18:43 +00:00