Heejin Ahn
473ef10b0f
[WebAssembly] Demote PHIs in catchswitch BB only ( #81570 )
...
`DemoteCatchSwitchPHIOnly` option in `WinEHPrepare` pass was added in
99d60e0dab ,
because Wasm EH uses `WinEHPrepare`, but it doesn't need to demote all
PHIs. PHIs in `catchswitch` BBs have to be removed (= demoted) because
`catchswitch`s are removed in ISel and `catchswitch` BBs are removed as
well, so they can't have other instructions.
But because Wasm EH doesn't use funclets, so PHIs in `catchpad` or
`cleanuppad` BBs don't need to be demoted. That was the reason
`DemoteCatchSwitchPHIOnly` option was added, in order not to demote more
instructions unnecessarily.
The problem is it should have been set to `true` for Wasm EH. (Its
default value is `false` for WinEH) And I mistakenly set it to `false`
and wasn't aware about this for more than 5 years. This was not the end
of the world; it just means we've been demoting more instructions than
we should, possibly huting code size. In practice I think it would've
had hardly any effect in real performance given that the occurrence of
PHIs in `catchpad` or `cleanuppad` BBs are not very frequent and many
people run other optimizers like Binaryen anyway.
2024-02-13 13:43:21 -08:00
..
2023-04-04 12:16:50 +02:00
2022-12-19 13:07:59 +01:00
2023-02-01 15:14:11 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-01-24 17:55:11 -04:00
2023-02-14 15:20:06 -05:00
2023-02-14 15:20:06 -05:00
2022-12-19 13:07:59 +01:00
2023-04-05 01:41:59 -07:00
2022-12-19 13:07:59 +01:00
2023-04-05 01:42:36 -07:00
2024-01-13 14:55:54 -08:00
2022-12-19 13:07:59 +01:00
2023-01-05 13:21:20 +01:00
2024-02-05 14:07:09 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-01-26 10:26:24 +00:00
2023-01-26 10:26:24 +00:00
2022-11-02 12:51:28 -07:00
2022-12-19 13:07:59 +01:00
2024-02-01 07:26:58 +08:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-01-05 13:21:20 +01:00
2022-09-27 09:16:30 +02:00
2022-09-27 09:16:30 +02:00
2023-06-23 14:07:11 -07:00
2023-06-23 14:07:11 -07:00
2022-12-19 13:07:59 +01:00
2023-11-03 10:46:07 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-06-26 10:45:41 -07:00
2023-06-26 10:45:41 -07:00
2023-07-11 15:17:26 -07:00
2022-08-31 14:54:13 -07:00
2023-02-07 15:56:10 +00:00
2022-09-27 09:16:30 +02:00
2022-09-27 09:16:30 +02:00
2022-09-27 09:16:30 +02:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-01-16 10:30:00 +01:00
2023-01-05 13:21:20 +01:00
2022-12-19 13:07:59 +01:00
2023-07-20 00:02:06 -07:00
2022-12-19 13:07:59 +01:00
2022-08-10 10:34:10 +01:00
2022-12-19 13:07:59 +01:00
2022-08-10 10:34:10 +01:00
2022-12-19 13:07:59 +01:00
2024-02-05 14:07:09 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-08-03 10:21:43 +01:00
2024-02-05 17:38:54 -08:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-07-11 10:36:25 -04:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-02-26 19:17:06 +00:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-10-20 12:15:48 -07:00
2023-05-17 17:03:15 +02:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-01-30 07:08:42 +03:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-03-17 20:13:00 -07:00
2022-12-19 13:07:59 +01:00
2023-04-04 12:16:50 +02:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-09-18 14:58:16 +02:00
2022-12-19 13:07:59 +01:00
2023-09-18 14:58:16 +02:00
2023-09-18 14:58:16 +02:00
2023-07-12 14:35:55 +02:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-03-02 09:37:25 +08:00
2023-01-26 10:26:24 +00:00
2022-11-02 12:51:28 -07:00
2023-08-03 10:21:43 +01:00
2023-03-22 06:53:54 +08:00
2022-11-16 09:02:40 +00:00
2023-05-17 10:48:52 +02:00
2022-12-19 13:07:59 +01:00
2022-11-02 12:51:28 -07:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-01-26 10:26:24 +00:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-03-13 08:59:52 +08:00
2023-09-13 12:33:39 +01:00
2023-03-30 20:14:11 -07:00
2023-02-09 18:45:20 +03:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-11-02 12:51:28 -07:00
2023-09-26 14:25:11 +01:00
2023-06-21 10:30:43 -04:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-01-26 10:26:24 +00:00
2023-01-26 10:26:24 +00:00
2023-01-26 10:26:24 +00:00
2023-06-06 07:48:35 +02:00
2023-01-26 10:26:24 +00:00
2024-01-09 23:54:43 -06:00
2022-11-02 12:51:28 -07:00
2023-02-22 10:02:16 +00:00
2023-06-09 08:42:27 -07:00
2023-01-26 14:26:02 +00:00
2023-01-04 15:07:47 +00:00
2022-09-13 16:03:18 -07:00
2022-11-02 12:51:28 -07:00
2022-12-19 13:07:59 +01:00
2023-06-09 08:42:27 -07:00
2023-06-09 08:42:27 -07:00
2022-12-19 10:37:19 +00:00
2023-01-26 10:26:24 +00:00
2023-06-23 14:07:11 -07:00
2023-05-03 16:00:20 -07:00
2022-12-19 13:07:59 +01:00
2023-01-04 15:07:47 +00:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-06-09 08:42:27 -07:00
2023-01-04 15:07:47 +00:00
2023-07-12 14:35:55 +02:00
2022-11-02 12:51:28 -07:00
2023-01-04 15:07:47 +00:00
2023-08-25 08:13:27 -07:00
2023-10-24 12:35:43 +02:00
2022-12-19 13:07:59 +01:00
2023-06-23 14:07:11 -07:00
2023-06-30 11:30:18 -07:00
2023-01-26 10:26:24 +00:00
2022-12-19 13:07:59 +01:00
2023-01-26 10:26:24 +00:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2024-02-06 09:07:58 +08:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-11-23 18:45:52 +01:00
2022-11-23 18:45:52 +01:00
2022-11-23 18:45:52 +01:00
2022-11-23 18:45:52 +01:00
2023-03-22 09:28:48 -07:00
2022-11-02 12:51:28 -07:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-08-03 10:21:43 +01:00
2023-01-26 10:26:24 +00:00
2023-10-26 10:23:32 -07:00
2023-12-05 14:09:36 +01:00
2022-12-19 13:07:59 +01:00
2024-02-05 14:07:09 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2023-06-08 16:59:49 -07:00
2024-02-13 13:43:21 -08:00
2022-12-19 13:07:59 +01:00
2022-12-19 13:07:59 +01:00
2024-02-06 12:39:48 +00:00