Sanjay Patel
8652c53d29
[DAG] propagate FMF for all FPMathOperators
...
This is a simple hack based on what's proposed in D37686, but we can extend it if needed in follow-ups.
It gets us most of the FMF functionality that we want without adding any state bits to the flags. It
also intentionally leaves out non-FMF flags (nsw, etc) to minimize the patch.
It should provide a superset of the functionality from D46563 - the extra tests show propagation and
codegen diffs for fcmp, vecreduce, and FP libcalls.
The PPC log2() test shows the limits of this most basic approach - we only applied 'afn' to the last
node created for the call. AFAIK, there aren't any libcall optimizations based on the flags currently,
so that shouldn't make any difference.
Differential Revision: https://reviews.llvm.org/D46854
llvm-svn: 332358
2018-05-15 14:16:24 +00:00
..
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-03-20 18:49:28 +00:00
2017-08-01 22:20:41 +00:00
2017-12-14 10:02:58 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-06-20 18:43:14 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2017-09-27 10:33:02 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-01-31 22:04:26 +00:00
2018-01-19 17:13:12 +00:00
2018-01-31 22:04:26 +00:00
2017-08-01 22:20:41 +00:00
2018-01-31 22:04:26 +00:00
2018-03-19 18:50:02 +00:00
2018-01-31 22:04:26 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-12-04 17:18:51 +00:00
2017-06-27 08:35:35 +00:00
2018-03-27 16:44:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-01-12 14:58:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-06-08 18:27:24 +00:00
2017-06-08 18:27:24 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-11-06 19:09:38 +00:00
2017-08-01 22:20:41 +00:00
2017-12-15 07:27:53 +00:00
2017-08-01 22:20:41 +00:00
2018-03-14 21:52:13 +00:00
2017-08-01 22:20:41 +00:00
2017-12-20 05:18:19 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-01-30 16:17:22 +00:00
2018-01-30 16:17:22 +00:00
2018-03-14 21:52:13 +00:00
2017-08-01 22:20:41 +00:00
2017-11-30 13:39:10 +00:00
2017-06-24 01:29:24 +00:00
2017-08-01 22:20:41 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-04-25 18:58:06 +00:00
2017-08-01 22:20:41 +00:00
2017-11-30 13:39:10 +00:00
2017-10-12 16:43:33 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-01-19 17:13:12 +00:00
2017-08-01 22:20:41 +00:00
2017-10-12 16:43:33 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-02-05 12:25:29 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-11-30 16:12:24 +00:00
2018-05-09 02:40:45 +00:00
2017-08-01 22:20:41 +00:00
2018-05-09 02:40:45 +00:00
2018-05-09 02:40:45 +00:00
2017-08-01 22:20:41 +00:00
2017-11-20 14:38:30 +00:00
2017-08-01 22:20:41 +00:00
2017-12-30 08:09:04 +00:00
2017-06-17 02:08:18 +00:00
2017-10-10 00:57:36 +00:00
2018-01-19 17:13:12 +00:00
2018-02-28 17:48:55 +00:00
2017-08-01 22:20:41 +00:00
2017-12-11 20:42:37 +00:00
2017-12-11 20:42:37 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2017-12-11 20:42:37 +00:00
2018-03-23 15:28:15 +00:00
2017-08-01 22:20:41 +00:00
2018-03-26 17:46:25 +00:00
2018-04-18 20:22:26 +00:00
2018-04-04 16:43:50 +00:00
2018-05-08 18:52:06 +00:00
2017-12-04 17:18:51 +00:00
2017-12-18 19:21:56 +00:00
2017-10-11 20:20:58 +00:00
2017-09-23 09:50:12 +00:00
2017-09-23 09:50:12 +00:00
2018-02-20 15:09:45 +00:00
2017-06-27 04:52:17 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-02-27 16:59:10 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-05-15 14:16:24 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-01-31 22:04:26 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-04-20 15:07:55 +00:00
2017-08-01 22:20:41 +00:00
2017-09-06 03:08:26 +00:00
2018-04-20 15:07:55 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2017-08-01 22:20:41 +00:00
2018-04-15 16:43:48 +00:00
2018-04-20 15:07:55 +00:00
2018-01-19 17:13:12 +00:00
2018-02-27 16:59:10 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-10-03 16:59:13 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-01-19 17:13:12 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-02-27 16:59:10 +00:00
2018-01-31 09:26:51 +00:00
2018-01-31 22:04:26 +00:00
2017-08-01 22:20:41 +00:00
2018-01-31 09:26:51 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2018-03-23 15:28:15 +00:00
2018-01-19 17:13:12 +00:00
2017-12-04 17:18:51 +00:00
2018-02-16 23:02:28 +00:00
2017-11-14 21:09:45 +00:00
2018-02-27 16:59:10 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-03-19 13:37:04 +00:00
2017-12-04 17:18:51 +00:00
2017-07-31 18:08:24 +00:00
2017-12-04 17:18:51 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2017-06-27 12:43:08 +00:00
2018-01-19 17:13:12 +00:00
2017-08-01 22:20:41 +00:00
2018-01-19 17:13:12 +00:00
2017-07-25 18:26:35 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-12-04 17:18:51 +00:00
2018-05-02 22:56:04 +00:00
2018-04-17 13:07:01 +00:00
2018-04-20 15:07:55 +00:00
2017-09-26 20:42:47 +00:00
2018-01-31 22:04:26 +00:00
2018-01-09 03:03:41 +00:00
2018-03-05 19:27:16 +00:00
2018-02-26 15:23:42 +00:00
2018-02-27 16:59:10 +00:00
2018-01-31 22:04:26 +00:00
2017-11-30 13:39:10 +00:00
2017-08-23 08:55:18 +00:00
2017-10-30 19:55:38 +00:00
2018-03-27 17:51:53 +00:00
2017-11-20 14:38:30 +00:00
2017-08-01 22:20:41 +00:00
2017-11-30 16:12:24 +00:00
2017-08-01 22:20:41 +00:00
2017-12-04 17:18:51 +00:00
2018-03-27 11:23:53 +00:00
2018-01-26 08:15:29 +00:00
2017-08-01 22:20:41 +00:00
2017-08-21 17:35:32 +00:00
2018-01-31 09:26:51 +00:00
2017-08-21 17:35:32 +00:00
2018-03-23 15:28:15 +00:00
2017-08-01 22:20:41 +00:00
2017-07-25 18:26:35 +00:00
2017-12-04 17:18:51 +00:00
2017-06-12 17:58:42 +00:00
2018-04-21 09:32:17 +00:00
2017-08-21 13:36:18 +00:00
2017-12-30 08:09:04 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-11-20 14:38:30 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-11-30 13:39:10 +00:00
2017-10-20 00:36:46 +00:00
2018-01-19 17:13:12 +00:00
2018-01-12 13:12:49 +00:00
2018-04-07 10:57:03 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-05-09 02:40:45 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-05-09 02:40:45 +00:00
2017-11-20 14:38:30 +00:00
2017-11-20 14:38:30 +00:00
2018-01-19 17:13:12 +00:00
2018-03-10 16:14:05 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2018-02-23 23:08:34 +00:00
2018-03-15 17:49:12 +00:00
2017-12-29 12:22:27 +00:00
2018-02-01 21:09:04 +00:00
2018-02-22 03:02:41 +00:00
2017-10-10 08:46:10 +00:00
2017-07-05 05:14:43 +00:00
2017-07-13 18:17:10 +00:00
2018-01-17 22:04:36 +00:00
2017-10-26 15:00:26 +00:00
2017-08-01 22:20:41 +00:00
2018-03-10 16:14:05 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-01-31 22:04:26 +00:00
2017-08-01 22:20:41 +00:00
2017-11-29 23:05:56 +00:00
2017-08-14 18:09:29 +00:00
2017-11-27 20:26:36 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-03-05 19:27:16 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-01-31 22:04:26 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2018-01-31 09:26:51 +00:00
2017-10-27 21:54:24 +00:00
2017-08-01 22:20:41 +00:00
2017-12-18 19:21:56 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-12-15 07:27:53 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-08-08 13:52:45 +00:00
2017-08-01 22:20:41 +00:00
2018-05-08 17:36:40 +00:00
2017-12-12 12:09:34 +00:00
2017-08-01 22:20:41 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2017-08-01 22:20:41 +00:00
2017-11-03 16:24:53 +00:00
2017-07-11 16:42:20 +00:00
2017-07-13 18:17:10 +00:00
2017-12-04 17:18:51 +00:00
2018-02-27 16:59:10 +00:00
2017-07-12 01:16:50 +00:00
2017-08-01 22:20:41 +00:00
2018-01-19 17:13:12 +00:00
2018-05-02 23:55:23 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-12 12:09:34 +00:00
2017-12-11 14:35:48 +00:00
2017-11-30 13:39:10 +00:00
2017-12-12 12:09:34 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-12-04 17:18:51 +00:00
2017-11-30 13:39:10 +00:00
2017-12-04 17:18:51 +00:00
2017-11-30 13:39:10 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-12 12:09:34 +00:00
2017-12-11 14:35:48 +00:00
2017-11-30 13:39:10 +00:00
2017-12-12 12:09:34 +00:00
2017-12-04 17:18:51 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2018-01-12 13:12:49 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-03-15 15:34:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-01-19 17:13:12 +00:00
2017-08-01 22:20:41 +00:00
2018-04-09 08:16:11 +00:00
2017-12-21 15:42:50 +00:00
2018-03-14 21:52:13 +00:00
2017-12-15 07:27:53 +00:00
2017-08-01 22:20:41 +00:00
2018-05-09 02:40:45 +00:00
2017-12-22 17:18:13 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2018-03-01 22:32:25 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-12-04 17:18:51 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-05-31 13:09:57 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-08-01 22:20:41 +00:00
2017-12-04 17:18:51 +00:00
2017-11-20 14:38:30 +00:00
2017-11-20 14:38:30 +00:00
2018-04-06 05:41:16 +00:00
2017-07-10 16:44:45 +00:00
2017-10-11 20:20:58 +00:00
2017-11-20 14:38:30 +00:00
2017-10-11 20:20:58 +00:00
2018-03-26 17:39:18 +00:00
2017-09-14 07:08:23 +00:00
2017-09-22 18:30:02 +00:00
2017-09-22 18:30:02 +00:00
2017-09-08 01:47:56 +00:00
2017-09-08 01:47:56 +00:00
2017-11-29 04:09:29 +00:00
2017-10-02 09:24:00 +00:00