William S. Moses
99d2582164
[ScalarEvolution] Handle <= and >= in non infinite loops
...
Extend scalar evolution to handle >= and <= if a loop is known to be finite and the induction variable guards the condition. Specifically, with these assumptions lhs <= rhs is equivalent to lhs < rhs + 1 and lhs >= rhs to lhs > rhs -1.
In the case of lhs <= rhs, this is true since the only case these are not equivalent
is when rhs == unsigned/signed intmax, which would have resulted in an infinite loop.
In the case of lhs >= rhs, this is true since the only case these are not equivalent
is when rhs == unsigned/signed intmin, which would again have resulted in an infinite loop.
Reviewed By: lebedev.ri
Differential Revision: https://reviews.llvm.org/D118090
2022-01-28 17:41:08 -05:00
..
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-04 15:57:30 -07:00
2021-09-04 15:57:30 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-04 15:57:30 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-11-29 17:09:12 +01:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-04 15:57:30 -07:00
2021-09-04 15:57:30 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-11-27 12:37:15 +01:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-30 20:53:51 +01:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2022-01-14 17:07:48 +03:00
2022-01-07 01:30:21 +03:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-15 11:34:50 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2022-01-28 17:41:08 -05:00
2021-09-02 11:38:14 -07:00
2021-10-01 15:35:09 -07:00
2021-10-06 15:10:02 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-10-03 15:19:33 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-10-03 15:32:15 -07:00
2021-09-02 11:38:14 -07:00
2022-01-28 14:17:05 -05:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-11-17 11:00:49 +00:00
2021-12-16 10:52:37 +00:00
2021-09-02 11:38:14 -07:00
2021-09-15 11:34:50 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-15 11:34:50 -07:00
2021-11-18 10:07:44 -08:00
2021-10-03 15:19:33 -07:00
2021-10-01 16:30:44 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-10-03 15:19:33 -07:00
2021-10-03 15:19:33 -07:00
2021-10-13 17:14:35 +01:00
2021-09-16 15:40:56 +07:00
2022-01-04 09:44:23 -08:00
2021-09-02 11:38:14 -07:00
2021-09-04 15:57:30 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-05-24 19:43:40 +02:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-10-19 21:37:57 +02:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-10-03 15:32:15 -07:00
2021-09-15 11:11:07 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-11-17 12:38:04 -08:00
2021-05-24 19:43:40 +02:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-10-01 16:30:44 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-30 20:53:51 +01:00
2021-09-30 20:53:51 +01:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-10-01 16:30:44 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-11-05 15:36:47 -07:00
2021-11-18 10:07:44 -08:00
2021-05-02 18:14:05 +02:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-11-18 09:36:16 +00:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-27 16:55:59 +07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-11-16 11:59:21 -08:00
2021-12-03 10:03:10 +01:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00
2021-09-02 11:38:14 -07:00