Momchil Velikov
078899cd64
[SimplifyCFG] Allow SimplifyCFG hoisting to skip over non-matching instructions
...
SimplifyCFG does some common code hoisting, which is limited
to hoisting a sequence of identical instruction in identical
order and stops at the first non-identical instruction.
This patch allows hoisting instruction pairs over
same-length sequences of non-matching instructions. The
linear asymptotic complexity of the algorithm stays the
same, there's an extra parameter
`simplifycfg-hoist-common-skip-limit` serving to limit
compilation time and/or the size of the hoisted live ranges.
The patch improves SPECv6/525.x264_r by about 10%.
Reviewed By: nikic, dmgreen
Differential Revision: https://reviews.llvm.org/D129370
2022-09-05 15:13:46 +01:00
..
2022-06-20 22:45:45 -07:00
2022-03-01 21:00:07 +01:00
2022-03-01 21:00:07 +01:00
2022-09-03 23:27:25 -07:00
2022-07-08 09:20:44 +02:00
2022-08-16 15:35:08 -06:00
2022-03-01 21:00:07 +01:00
2022-03-14 10:16:28 -07:00
2022-08-07 00:16:14 -07:00
2022-03-01 21:00:07 +01:00
2022-08-07 23:55:27 -07:00
2022-03-01 21:00:07 +01:00
2022-04-19 21:23:48 +00:00
2022-08-27 23:54:32 -07:00
2022-08-27 21:21:02 -07:00
2022-08-13 12:55:42 -07:00
2022-05-13 22:19:29 +00:00
2022-07-06 17:07:20 +02:00
2022-03-01 21:00:07 +01:00
2022-07-23 15:30:15 -07:00
2022-08-27 23:54:32 -07:00
2022-08-27 21:21:02 -07:00
2022-08-27 23:54:32 -07:00
2022-08-07 23:55:27 -07:00
2022-08-14 12:51:58 -07:00
2022-06-24 09:09:26 -07:00
2022-03-01 21:00:07 +01:00
2022-08-24 22:41:38 +00:00
2022-09-01 17:04:26 +01:00
2022-09-04 22:26:18 +01:00
2022-03-01 21:00:07 +01:00
2022-08-31 13:23:00 -07:00
2022-08-20 21:18:28 -07:00
2022-08-26 16:37:32 +03:00
2022-08-27 23:54:32 -07:00
2022-08-27 21:20:59 -07:00
2022-06-20 22:45:45 -07:00
2022-08-07 23:55:24 -07:00
2022-08-29 11:44:33 -07:00
2022-07-23 21:50:11 +01:00
2022-08-27 21:21:02 -07:00
2022-03-01 21:00:07 +01:00
2022-08-27 21:21:02 -07:00
2022-04-14 13:30:56 +08:00
2022-07-26 11:02:22 -07:00
2022-08-01 10:11:16 +01:00
2022-08-26 20:24:10 +00:00
2022-07-13 23:11:56 -07:00
2022-07-17 14:38:29 -07:00
2022-08-27 21:21:02 -07:00
2022-07-12 12:53:08 +02:00
2022-08-09 09:36:39 +02:00
2022-09-03 11:17:40 -07:00
2022-06-05 00:31:44 -07:00
2022-03-01 21:00:07 +01:00
2022-08-13 12:55:42 -07:00
2022-07-14 10:56:11 +02:00
2022-09-05 15:13:46 +01:00
2022-08-22 14:31:19 +07:00
2022-08-16 17:34:33 -06:00
2022-06-03 21:59:05 -07:00
2022-08-13 12:55:42 -07:00
2022-07-30 13:55:56 +01:00
2022-04-25 18:13:23 +01:00
2022-03-01 21:00:07 +01:00
2022-08-27 21:21:02 -07:00
2022-07-17 14:38:29 -07:00
2022-06-30 15:26:06 +02:00