Joshua Cao
e479ed90b5
[SimpleLoopUnswitch] unswitch selects
...
The old LoopUnswitch pass unswitched selects, but the changes were never
ported to the new SimpleLoopUnswitch.
We unswitch by turning:
```
S = select %cond, %a, %b
```
into:
```
head:
br %cond, label %then, label %tail
then:
br label %tail
tail:
S = phi [ %a, %then ], [ %b, %head ]
```
Unswitch selects are always nontrivial, since the successors do not exit
the loop and the loop body always needs to be cloned.
Differential Revision: https://reviews.llvm.org/D138526
Co-authored-by: Sergey Kachkov <sergey.kachkov@syntacore.com>
2023-04-29 21:24:26 -07:00
..
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2022-12-07 23:15:16 +03:00
2022-12-07 23:15:16 +03:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2022-12-07 23:15:16 +03:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2022-12-07 23:15:16 +03:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2022-07-19 09:57:28 +02:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2022-12-07 23:15:16 +03:00
2023-01-04 16:28:13 +01:00
2022-12-07 23:15:16 +03:00
2022-12-08 11:47:16 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2022-12-07 23:15:16 +03:00
2022-12-07 23:15:16 +03:00
2022-12-07 23:15:16 +03:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2022-12-07 23:15:16 +03:00
2023-03-06 15:42:57 +07:00
2022-11-05 16:56:06 +00:00
2022-12-07 23:15:16 +03:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-04-29 21:24:26 -07:00
2023-03-15 13:13:08 -07:00
2023-01-04 16:28:13 +01:00
2023-04-29 21:24:26 -07:00
2022-12-07 23:15:16 +03:00
2023-04-29 21:24:26 -07:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2022-10-30 20:44:22 +00:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-03-20 10:14:50 -07:00
2023-03-20 10:14:50 -07:00
2023-03-20 10:14:50 -07:00
2023-02-16 11:36:03 -08:00
2022-12-07 23:15:16 +03:00
2022-11-17 23:43:20 +08:00
2022-11-13 17:38:39 +00:00
2023-01-12 21:48:30 +08:00
2023-03-21 17:11:58 +07:00
2023-04-12 20:38:17 +07:00
2023-01-04 16:28:13 +01:00
2022-12-08 02:38:51 +03:00
2022-05-09 13:49:12 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-01-04 16:28:13 +01:00
2023-03-28 09:41:52 +02:00
2023-04-06 09:46:42 +02:00