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
..
2016-08-22 19:07:15 +00:00
2017-08-07 18:30:35 +00:00
2017-10-28 18:43:07 +00:00
2017-11-22 20:43:00 +00:00
2015-11-11 17:24:56 +00:00
2017-11-13 01:47:52 +00:00
2018-04-26 13:37:00 +00:00
2017-12-28 17:02:34 +00:00
2015-06-17 20:52:32 +00:00
2015-03-13 18:20:45 +00:00
2016-03-28 22:12:21 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 19:29:02 +00:00
2015-06-17 20:52:32 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-06-17 20:52:32 +00:00
2015-04-16 23:24:18 +00:00
2015-02-27 21:17:42 +00:00
2016-03-29 04:08:57 +00:00
2016-04-30 00:02:36 +00:00
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2015-02-27 21:17:42 +00:00
2015-06-17 20:52:32 +00:00
2015-06-17 20:52:32 +00:00
2016-02-12 21:01:36 +00:00
2015-02-27 19:29:02 +00:00
2018-05-09 02:40:45 +00:00
2017-07-28 20:21:02 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2016-01-10 05:48:01 +00:00
2015-02-13 11:08:40 +00:00
2016-04-26 02:06:06 +00:00
2015-04-16 23:24:18 +00:00
2016-08-29 15:27:17 +00:00
2017-10-28 18:43:07 +00:00
2018-01-19 17:13:12 +00:00
2015-02-27 21:17:42 +00:00
2018-06-18 23:20:08 +00:00
2017-09-12 23:28:11 +00:00
2015-06-17 20:52:32 +00:00
2016-01-05 02:37:41 +00:00
2017-04-10 20:18:21 +00:00
2015-02-27 21:17:42 +00:00
2016-03-29 04:08:57 +00:00
2018-05-18 08:52:15 +00:00
2018-05-08 23:28:15 +00:00
2017-10-28 18:43:07 +00:00
2017-09-01 19:54:08 +00:00
2017-10-31 19:03:49 +00:00
2015-02-27 21:17:42 +00:00
2018-05-09 02:40:45 +00:00
2017-07-28 20:21:02 +00:00
2015-02-27 21:17:42 +00:00
2017-07-06 20:00:25 +00:00
2016-04-25 17:23:36 +00:00
2016-05-05 15:39:18 +00:00
2016-04-25 18:20:27 +00:00
2015-10-29 03:11:49 +00:00
2015-02-27 21:17:42 +00:00
2016-02-03 23:54:25 +00:00
2017-11-13 01:47:52 +00:00
2016-01-10 05:48:01 +00:00
2018-07-09 22:27:23 +00:00
2015-02-27 21:17:42 +00:00
2017-04-10 20:18:21 +00:00
2015-03-13 18:20:45 +00:00
2016-02-20 01:07:45 +00:00
2017-11-03 21:08:13 +00:00
2018-04-04 03:47:17 +00:00
2017-10-31 19:03:49 +00:00
2017-12-09 00:21:41 +00:00
2015-02-27 21:17:42 +00:00
2017-12-14 22:05:20 +00:00
2018-03-22 17:07:51 +00:00
2018-07-09 22:27:23 +00:00
2016-03-28 22:12:21 +00:00
2016-03-17 15:30:52 +00:00
2017-07-19 08:53:34 +00:00
2017-08-09 18:56:26 +00:00
2017-12-31 16:47:16 +00:00
2016-03-28 22:12:21 +00:00
2015-02-27 21:17:42 +00:00
2015-10-21 18:22:24 +00:00
2018-05-09 02:40:45 +00:00
2016-08-29 17:14:08 +00:00
2016-09-16 02:43:36 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2016-05-18 22:41:03 +00:00
2017-10-28 18:43:07 +00:00
2015-11-02 17:53:51 +00:00
2015-11-02 17:53:51 +00:00
2015-11-02 17:53:51 +00:00
2015-08-07 19:30:12 +00:00
2017-08-29 20:06:24 +00:00
2017-10-28 18:43:07 +00:00
2018-05-09 02:40:45 +00:00
2018-04-12 20:58:24 +00:00
2015-06-17 20:52:32 +00:00
2017-10-31 19:03:49 +00:00
2017-12-14 22:05:20 +00:00
2017-04-28 21:13:09 +00:00
2018-05-09 02:40:45 +00:00
2016-01-27 02:59:41 +00:00
2016-03-26 23:30:50 +00:00
2015-02-27 21:17:42 +00:00
2017-10-31 19:03:49 +00:00
2015-12-26 07:54:32 +00:00
2017-11-09 23:17:52 +00:00
2018-02-14 06:58:08 +00:00
2017-02-17 17:36:52 +00:00
2016-03-16 23:39:37 +00:00
2016-03-16 23:22:01 +00:00
2017-12-05 14:14:00 +00:00
2016-12-19 08:22:17 +00:00
2016-05-20 14:53:09 +00:00
2017-11-13 01:47:52 +00:00
2015-01-26 19:52:32 +00:00
2014-12-04 22:19:25 +00:00
2016-11-25 21:12:39 +00:00
2016-11-25 21:12:39 +00:00
2016-06-25 08:19:55 +00:00
2018-07-09 22:27:23 +00:00
2018-07-09 22:27:23 +00:00
2016-04-15 15:32:12 +00:00
2018-02-08 07:16:29 +00:00
2015-02-27 21:17:42 +00:00
2016-02-24 10:02:16 +00:00
2018-07-09 22:27:23 +00:00
2015-04-16 23:24:18 +00:00
2016-01-05 07:42:17 +00:00