Anna Thomas
7c3eddc7d6
[Loop Predication] Teach LP about reverse loops
...
Summary:
Currently, we only support predication for forward loops with step
of 1. This patch enables loop predication for reverse or
countdownLoops, which satisfy the following conditions:
1. The step of the IV is -1.
2. The loop has a singe latch as B(X) = X <pred>
latchLimit with pred as s> or u>
3. The IV of the guard is the decrement
IV of the latch condition (Guard is: G(X) = X-1 u< guardLimit).
This patch was downstream for a while and is the last series of patches
that's from our LP implementation downstream.
Reviewers: apilipenko, mkazantsev, sanjoy
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D40353
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319659 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-04 15:11:48 +00:00
..
2017-08-22 16:30:21 +00:00
2017-04-11 19:07:30 +00:00
2016-06-15 06:18:01 +00:00
2017-08-04 17:09:11 +00:00
2017-04-10 20:18:21 +00:00
2017-08-16 16:09:22 +00:00
2015-12-03 19:41:25 +00:00
2017-10-25 13:40:08 +00:00
2017-11-18 18:14:13 +00:00
2017-11-30 03:36:57 +00:00
2017-11-29 05:51:26 +00:00
2017-11-09 20:01:31 +00:00
2017-08-30 18:06:51 +00:00
2017-06-04 08:21:58 +00:00
2017-08-25 02:25:10 +00:00
2017-11-10 19:13:35 +00:00
2017-08-29 22:29:15 +00:00
2017-11-08 21:59:51 +00:00
2017-07-28 20:21:02 +00:00
2017-11-08 21:59:51 +00:00
2017-09-09 14:10:59 +00:00
2017-11-08 21:59:51 +00:00
2016-05-05 02:37:32 +00:00
2017-11-28 18:44:26 +00:00
2017-11-03 12:12:27 +00:00
2016-06-24 23:32:02 +00:00
2015-12-27 08:13:45 +00:00
2017-11-08 21:59:51 +00:00
2017-08-19 19:15:04 +00:00
2017-08-30 18:06:51 +00:00
2017-05-25 07:15:09 +00:00
2017-08-30 18:06:51 +00:00
2017-11-08 21:59:51 +00:00
2017-03-07 22:18:48 +00:00
2016-05-21 02:24:44 +00:00
2017-11-28 07:07:55 +00:00
2017-11-08 21:59:51 +00:00
2017-11-08 21:59:51 +00:00
2017-12-01 20:57:19 +00:00
2017-10-30 21:19:41 +00:00
2017-06-18 03:10:26 +00:00
2017-12-01 20:41:38 +00:00
2017-12-01 12:34:16 +00:00
2017-01-24 19:55:36 +00:00
2017-05-08 23:18:46 +00:00
2017-12-01 12:34:16 +00:00
2017-10-02 07:35:25 +00:00
2016-06-05 19:08:54 +00:00
2017-02-04 19:44:14 +00:00
2017-11-20 06:07:57 +00:00
2017-11-13 01:47:52 +00:00
2016-07-20 01:55:27 +00:00
2017-11-17 20:38:25 +00:00
2017-11-08 21:59:51 +00:00
2016-08-22 12:59:58 +00:00
2017-08-02 18:17:52 +00:00
2017-01-13 00:16:23 +00:00
2017-11-08 21:59:51 +00:00
2017-10-21 13:58:37 +00:00
2017-01-27 01:32:26 +00:00
2017-12-04 15:11:48 +00:00
2017-07-28 20:21:02 +00:00
2017-11-15 06:46:58 +00:00
2017-10-13 14:30:43 +00:00
2016-05-10 18:28:10 +00:00
2017-12-01 22:20:26 +00:00
2017-11-01 23:12:35 +00:00
2017-08-29 21:45:11 +00:00
2017-11-20 12:01:47 +00:00
2017-04-05 09:24:26 +00:00
2017-04-05 09:24:26 +00:00
2017-08-23 15:43:28 +00:00
2017-06-07 18:32:24 +00:00
2016-07-28 22:08:41 +00:00
2016-08-12 17:28:27 +00:00
2017-04-21 23:54:12 +00:00
2017-11-17 00:30:24 +00:00
2017-09-21 19:52:03 +00:00
2017-11-30 22:10:53 +00:00
2017-11-28 09:32:25 +00:00
2017-10-10 08:00:45 +00:00
2017-08-01 05:14:45 +00:00
2016-09-17 20:40:16 +00:00
2016-12-19 08:22:17 +00:00
2017-11-08 21:59:51 +00:00
2017-10-24 00:09:10 +00:00
2017-11-27 21:15:43 +00:00
2017-11-30 19:16:25 +00:00
2017-11-15 16:37:30 +00:00
2017-07-27 16:49:39 +00:00
2016-06-24 20:13:42 +00:00
2016-10-03 19:35:30 +00:00
2017-11-13 19:46:28 +00:00
2015-06-17 20:52:32 +00:00
2017-11-02 18:24:04 +00:00
2017-08-23 20:31:27 +00:00
2017-11-06 19:52:49 +00:00
2017-07-28 20:21:02 +00:00
2017-11-22 03:04:55 +00:00
2017-03-21 21:39:51 +00:00
2017-11-17 19:58:36 +00:00
2017-12-01 13:11:39 +00:00
2017-07-11 22:23:00 +00:00
2017-12-01 16:17:24 +00:00
2017-11-28 11:32:31 +00:00
2017-05-10 12:30:07 +00:00
2017-12-01 06:05:05 +00:00
2017-03-21 21:39:51 +00:00
2015-10-30 23:28:12 +00:00
2017-08-30 18:06:51 +00:00
2017-08-15 18:14:57 +00:00
2017-11-28 22:39:38 +00:00
2017-11-30 23:05:52 +00:00
2017-09-13 01:43:25 +00:00
2017-11-04 17:04:39 +00:00