Sanjay Patel
6d4ea22e70
[IR] allow fast-math-flags on phi of FP values (2nd try)
...
The changes here are based on the corresponding diffs for allowing FMF on 'select':
D61917 <https://reviews.llvm.org/D61917 >
As discussed there, we want to have fast-math-flags be a property of an FP value
because the alternative (having them on things like fcmp) leads to logical
inconsistency such as:
https://bugs.llvm.org/show_bug.cgi?id=38086
The earlier patch for select made almost no practical difference because most
unoptimized conditional code begins life as a phi (based on what I see in clang).
Similarly, I don't expect this patch to do much on its own either because
SimplifyCFG promptly drops the flags when converting to select on a minimal
example like:
https://bugs.llvm.org/show_bug.cgi?id=39535
But once we have this plumbing in place, we should be able to wire up the FMF
propagation and start solving cases like that.
The change to RecurrenceDescriptor::AddReductionVar() is required to prevent a
regression in a LoopVectorize test. We are intersecting the FMF of any
FPMathOperator there, so if a phi is not properly annotated, new math
instructions may not be either. Once we fix the propagation in SimplifyCFG, it
may be safe to remove that hack.
Differential Revision: https://reviews.llvm.org/D67564
llvm-svn: 372878
2019-09-25 14:35:02 +00:00
..
2019-07-14 14:06:25 +00:00
2018-09-20 18:59:33 +00:00
2017-07-11 22:23:00 +00:00
2017-07-11 22:23:00 +00:00
2017-07-11 22:23:00 +00:00
2019-08-03 14:28:34 +00:00
2019-08-03 14:28:34 +00:00
2019-08-03 14:28:34 +00:00
2018-09-24 12:47:17 +00:00
2014-08-19 21:08:27 +00:00
2014-02-26 12:06:36 +00:00
2014-08-19 21:08:27 +00:00
2014-02-26 12:06:36 +00:00
2016-01-29 05:55:09 +00:00
2016-01-29 05:55:09 +00:00
2019-05-30 18:48:23 +00:00
2019-02-08 20:48:56 +00:00
2019-02-08 20:48:56 +00:00
2019-07-28 06:09:56 +00:00
2019-07-28 06:09:56 +00:00
2019-07-28 06:09:56 +00:00
2019-07-28 06:09:56 +00:00
2019-07-28 06:09:56 +00:00
2019-07-28 06:09:56 +00:00
2019-07-28 06:09:56 +00:00
2018-07-09 17:57:48 +00:00
2019-09-25 14:35:02 +00:00
2018-08-16 21:29:55 +00:00
2017-08-23 20:31:27 +00:00
2016-12-20 02:09:43 +00:00
2017-08-30 18:06:51 +00:00
2017-02-08 17:44:43 +00:00
2017-08-30 18:06:51 +00:00
2017-02-07 17:35:41 +00:00
2019-01-15 16:18:52 +00:00
2018-05-09 02:40:45 +00:00
2018-09-20 08:53:06 +00:00
2018-09-20 08:53:06 +00:00
2018-11-28 21:14:32 +00:00
2018-11-28 21:14:32 +00:00
2018-11-28 21:14:32 +00:00
2019-03-19 13:49:03 +00:00
2019-03-19 13:49:03 +00:00
2018-05-09 02:40:45 +00:00
2018-05-09 02:40:45 +00:00
2014-08-19 21:08:27 +00:00
2018-04-26 18:17:58 +00:00
2014-08-19 21:08:27 +00:00
2018-08-23 09:25:17 +00:00
2018-08-23 09:25:17 +00:00
2018-11-13 18:15:47 +00:00
2014-12-15 19:07:53 +00:00
2018-08-23 09:25:17 +00:00
2018-08-23 09:25:17 +00:00
2017-05-11 12:28:08 +00:00
2019-05-30 18:48:23 +00:00
2014-09-23 08:48:01 +00:00
2015-10-26 18:37:00 +00:00
2018-07-09 16:52:05 +00:00
2019-08-07 17:20:55 +00:00
2019-08-07 17:20:55 +00:00
2019-08-21 18:20:11 +00:00
2019-08-21 18:20:11 +00:00
2019-07-11 01:14:30 +00:00
2019-07-11 01:14:30 +00:00
2019-07-14 14:06:25 +00:00
2014-12-15 19:07:53 +00:00
2019-05-15 02:35:32 +00:00
2016-12-28 22:30:28 +00:00
2016-03-29 05:25:17 +00:00
2018-02-23 23:13:18 +00:00
2018-02-23 23:13:18 +00:00
2016-03-27 23:17:54 +00:00
2019-04-17 17:38:09 +00:00
2017-07-06 17:56:01 +00:00
2016-11-29 21:55:09 +00:00
2019-03-12 21:02:54 +00:00
2019-02-12 21:55:38 +00:00
2015-06-16 20:03:39 +00:00
2019-07-14 12:35:50 +00:00
2015-08-31 18:00:30 +00:00
2016-02-10 21:55:02 +00:00
2019-07-31 00:13:51 +00:00
2018-04-21 23:52:04 +00:00
2018-04-21 23:52:04 +00:00
2018-04-21 23:52:04 +00:00
2018-04-21 23:52:04 +00:00
2019-07-31 00:13:51 +00:00
2019-07-05 15:25:05 +00:00
2019-07-05 15:25:05 +00:00
2019-07-24 22:23:05 +00:00
2019-07-05 15:25:05 +00:00
2017-09-01 16:24:02 +00:00
2018-02-07 04:05:59 +00:00
2016-09-20 23:07:17 +00:00
2019-07-05 15:25:05 +00:00
2019-07-05 15:25:05 +00:00
2019-07-05 15:25:05 +00:00
2019-07-05 15:25:05 +00:00
2019-07-05 15:25:05 +00:00
2019-07-05 15:25:05 +00:00
2017-08-04 16:00:58 +00:00
2019-07-03 17:31:43 +00:00
2019-07-05 15:25:05 +00:00
2019-01-11 18:31:57 +00:00
2016-08-12 13:53:02 +00:00
2019-07-03 17:31:43 +00:00
2017-11-04 17:04:39 +00:00
2018-01-11 22:15:05 +00:00
2018-12-13 19:54:27 +00:00
2019-05-10 20:08:24 +00:00
2019-05-10 20:08:24 +00:00
2019-08-13 17:52:21 +00:00
2019-08-13 01:23:06 +00:00
2019-08-13 17:52:21 +00:00
2019-08-08 16:59:31 +00:00
2019-03-08 05:27:53 +00:00
2019-09-18 22:15:58 +00:00
2019-09-18 22:15:58 +00:00
2019-09-18 22:15:58 +00:00
2018-02-12 19:45:54 +00:00
2018-02-12 19:45:54 +00:00
2018-05-09 02:40:45 +00:00
2019-05-15 02:35:32 +00:00
2019-05-15 02:35:32 +00:00
2019-05-15 02:35:32 +00:00
2018-05-03 11:03:01 +00:00
2019-08-14 08:33:07 +00:00
2019-08-13 01:23:06 +00:00
2018-04-17 04:02:24 +00:00
2018-04-17 04:02:24 +00:00
2019-04-10 06:20:20 +00:00
2018-04-05 02:44:46 +00:00
2019-07-03 17:31:43 +00:00
2018-05-09 02:40:45 +00:00
2016-07-01 02:41:21 +00:00
2016-04-15 15:57:41 +00:00
2015-11-05 22:03:56 +00:00
2019-06-11 08:22:10 +00:00
2019-06-11 08:22:10 +00:00
2014-08-19 21:08:27 +00:00
2014-03-02 15:26:36 +00:00
2018-09-12 08:54:06 +00:00
2014-08-19 21:08:27 +00:00
2014-02-26 12:06:36 +00:00