Max Kazantsev
dd0cf23e4a
[LICM] Reassociate & hoist sub expressions
...
LICM could reassociate mixed variant/invariant comparison/arithmetic operations
and hoist invariant parts out of loop if it can prove that they can be computed
without overflow. Motivating example here:
```
INV1 - VAR1 < INV2
```
can be turned into
```
VAR > INV1 - INV2
```
if we can prove no-signed-overflow here. Then `INV1 - INV2` can be computed
out of loop, so we save one arithmetic operation in-loop.
Reviewed By: skatkov
Differential Revision: https://reviews.llvm.org/D148001
2023-05-29 12:52:43 +07:00
..
2023-04-17 13:54:19 +02:00
2023-04-17 13:54:19 +02:00
2023-05-09 17:51:28 +03:00
2023-04-14 18:56:20 +02:00
2023-03-28 16:41:02 +00:00
2023-04-25 20:36:09 +01:00
2023-04-17 13:54:19 +02:00
2023-04-19 13:36:47 +01:00
2023-04-17 13:54:19 +02:00
2023-04-17 13:54:19 +02:00
2023-05-02 12:51:56 +02:00
2023-04-17 13:54:19 +02:00
2023-04-12 10:58:45 -04:00
2023-05-19 21:27:35 +01:00
2023-04-17 13:54:19 +02:00
2023-04-17 13:54:19 +02:00
2023-05-02 12:17:05 +02:00
2023-04-17 13:54:19 +02:00
2023-05-17 23:40:06 +01:00
2023-04-14 10:38:32 +02:00
2023-04-17 13:54:19 +02:00
2023-05-29 12:52:43 +07:00
2023-04-17 15:49:05 +02:00
2023-04-17 13:54:19 +02:00
2023-04-25 12:04:42 -07:00
2023-04-17 13:54:19 +02:00
2023-04-25 12:04:42 -07:00
2023-05-25 09:34:19 +02:00
2023-04-21 14:32:55 +02:00
2023-02-22 02:35:13 +00:00
2023-04-12 10:58:45 -04:00
2023-04-17 13:54:19 +02:00
2023-05-02 12:17:05 +02:00
2023-03-24 16:09:20 +01:00
2023-05-25 09:34:19 +02:00
2023-04-17 13:54:19 +02:00
2023-05-02 12:17:05 +02:00
2023-04-17 13:54:19 +02:00
2023-03-01 12:58:18 -08:00
2022-12-22 17:33:52 -05:00
2023-05-14 22:07:38 +01:00
2023-05-16 16:54:51 +02:00
2023-04-04 12:01:29 -07:00
2023-05-24 22:23:06 +08:00
2023-03-28 16:41:02 +00:00
2023-05-19 21:27:35 +01:00
2023-02-17 09:17:49 -08:00
2023-04-16 09:05:20 -07:00
2023-04-16 09:05:20 -07:00
2023-05-16 16:10:51 +02:00
2023-04-27 18:01:54 +01:00
2023-05-05 13:05:31 +02:00
2023-02-24 13:47:31 +01:00
2023-05-04 18:45:49 -07:00
2023-05-17 21:44:04 -07:00
2023-05-15 07:21:43 +00:00
2023-05-19 09:39:36 -07:00
2023-03-28 16:41:02 +00:00
2023-03-14 11:25:22 +01:00
2023-01-10 12:16:31 +01:00
2023-04-17 13:54:19 +02:00