bors
7a08f84627
Auto merge of #126578 - scottmcm:inlining-bonuses-too, r=davidtwco
...
Account for things that optimize out in inlining costs
This updates the MIR inlining `CostChecker` to have both bonuses and penalties, rather than just penalties.
That lets us add bonuses for some things where we want to encourage inlining without risking wrapping into a gigantic cost. For example, `switchInt(const …)` we give an inlining bonus because codegen will actually eliminate the branch (and associated dead blocks) once it's monomorphized, so measuring both sides of the branch gives an unrealistically-high cost to it. Similarly, an `unreachable` terminator gets a small bonus, because whatever branch leads there doesn't actually exist post-codegen.
2024-06-21 02:06:27 +00:00
..
2024-05-31 15:56:43 +10:00
2024-06-19 13:54:55 +01:00
2024-06-19 13:54:55 +01:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-16 04:07:02 -05:00
2024-06-14 13:31:46 +10:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-06-19 21:35:37 -07:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-23 11:28:06 +11:00
2024-06-14 13:31:46 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-06-19 13:54:56 +01:00
2024-06-12 08:53:59 +00:00
2024-06-08 21:38:32 +02:00
2024-04-24 13:12:33 +01:00
2024-02-22 16:04:04 +00:00
2024-06-19 13:54:55 +01:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-06-19 13:54:55 +01:00
2024-03-05 18:54:45 -05:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-04-11 21:42:35 -04:00
2024-04-22 18:48:47 +02:00
2024-04-11 21:42:35 -04:00
2024-04-09 08:51:32 -07:00
2024-06-19 17:48:05 +02:00
2024-04-11 17:20:08 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-24 19:49:16 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-06-19 13:54:55 +01:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-04-23 18:31:57 +02:00
2024-04-18 18:11:21 -07:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-03-13 01:17:15 -04:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-04-24 13:12:33 +01:00
2024-05-31 15:56:43 +10:00
2024-06-04 01:30:51 -07:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-06 23:15:48 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-06 23:15:48 +00:00
2024-05-31 15:56:43 +10:00
2024-06-19 13:54:55 +01:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-06-05 15:40:11 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-06-16 17:19:25 +08:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-05-03 14:32:08 +02:00
2024-05-31 15:56:43 +10:00
2024-03-11 09:36:35 -07:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-05-28 12:31:33 +02:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-04-11 21:42:35 -04:00
2024-02-23 18:04:01 -05:00
2024-03-22 09:55:50 -04:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-23 18:04:01 -05:00
2024-02-23 18:04:01 -05:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-04-22 18:48:47 +02:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-28 12:31:33 +02:00
2024-05-28 12:31:33 +02:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-04-25 11:44:32 +09:00
2024-03-05 18:54:45 -05:00
2024-04-18 09:35:35 -07:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-11 21:22:51 -07:00
2024-02-22 16:04:04 +00:00
2024-03-17 10:11:04 -07:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-04-04 21:59:08 +01:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-04-22 18:48:47 +02:00
2024-05-31 15:56:43 +10:00
2024-04-11 21:42:35 -04:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-06-04 01:30:51 -07:00
2024-05-31 15:56:43 +10:00
2024-06-14 13:31:46 +10:00
2024-06-14 13:31:46 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-23 18:04:01 -05:00
2024-04-29 13:03:45 +00:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-04-09 05:25:51 +02:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-03-12 19:01:04 -04:00
2024-02-23 18:04:01 -05:00
2024-02-23 18:04:01 -05:00
2024-04-06 14:09:03 -04:00
2024-02-22 16:04:04 +00:00
2024-02-23 18:04:01 -05:00
2024-02-23 18:04:01 -05:00
2024-02-23 18:04:01 -05:00
2024-06-11 07:45:16 +00:00
2024-05-31 15:56:43 +10:00
2024-04-22 18:48:47 +02:00
2024-02-23 18:04:01 -05:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-29 17:08:36 +01:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-04-06 11:37:57 -07:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-04-11 21:42:35 -04:00
2024-02-22 16:04:04 +00:00
2024-05-01 16:54:20 -07:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-03-17 10:11:04 -07:00
2024-05-31 15:56:43 +10:00
2024-03-11 18:19:17 -04:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00
2024-04-06 11:21:47 -04:00
2024-04-11 17:20:08 +00:00
2024-02-22 16:04:04 +00:00
2024-02-22 16:04:04 +00:00
2024-05-31 15:56:43 +10:00
2024-06-19 13:54:55 +01:00
2024-06-19 13:54:55 +01:00
2024-06-19 13:54:55 +01:00
2024-02-22 16:04:04 +00:00
2024-02-23 18:04:01 -05:00
2024-02-22 16:04:04 +00:00
2024-03-29 15:37:43 -07:00
2024-02-22 16:04:04 +00:00
2024-02-23 18:04:01 -05:00
2024-05-20 09:21:09 -05:00
2024-05-31 15:56:43 +10:00
2024-02-23 18:04:01 -05:00
2024-04-20 21:07:00 -04:00
2024-02-23 18:04:01 -05:00
2024-02-23 18:04:01 -05:00
2024-03-17 10:11:04 -07:00
2024-03-01 18:24:02 +00:00
2024-02-23 18:04:01 -05:00
2024-04-08 12:12:13 +02:00
2024-02-23 18:04:01 -05:00
2024-02-23 18:04:01 -05:00
2024-02-22 16:04:04 +00:00
2024-06-04 01:30:51 -07:00
2024-05-27 16:26:56 -04:00
2024-05-31 15:56:43 +10:00
2024-02-22 16:04:04 +00:00
2024-06-19 21:26:48 +01:00
2024-05-31 15:56:43 +10:00
2024-05-31 15:56:43 +10:00