Simon Pilgrim
090cae8491
[TTI] Add DemandedElts to getScalarizationOverhead
...
The improvements to the x86 vector insert/extract element costs in D74976 resulted in the estimated costs for vector initialization and scalarization increasing higher than should be expected. This is particularly noticeable on pre-SSE4 targets where the available of legal INSERT_VECTOR_ELT ops is more limited.
This patch does 2 things:
1 - it implements X86TTIImpl::getScalarizationOverhead to more accurately represent the typical costs of a ISD::BUILD_VECTOR pattern.
2 - it adds a DemandedElts mask to getScalarizationOverhead to permit the SLP's BoUpSLP::getGatherCost to be rewritten to use it directly instead of accumulating raw vector insertion costs.
This fixes PR45418 where a v4i8 (zext'd to v4i32) was no longer vectorizing.
A future patch should extend X86TTIImpl::getScalarizationOverhead to tweak the EXTRACT_VECTOR_ELT scalarization costs as well.
Reviewed By: @craig.topper
Differential Revision: https://reviews.llvm.org/D78216
2020-04-29 12:00:38 +01:00
..
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-01-06 10:50:26 +00:00
2019-04-17 04:52:47 +00:00
2020-02-24 14:23:04 +00:00
2019-04-17 04:52:47 +00:00
2020-02-27 15:54:13 +00:00
2019-04-17 04:52:47 +00:00
2019-11-14 16:38:20 -05:00
2019-04-17 04:52:47 +00:00
2019-11-14 16:38:20 -05:00
2019-11-14 16:38:20 -05:00
2019-11-14 16:38:20 -05:00
2019-09-27 10:04:25 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-11-14 16:38:20 -05:00
2019-11-14 16:38:20 -05:00
2019-04-17 04:52:47 +00:00
2019-11-14 16:38:20 -05:00
2019-04-17 04:52:47 +00:00
2019-11-14 16:38:20 -05:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-04-27 17:29:27 -04:00
2019-04-17 04:52:47 +00:00
2019-11-14 16:38:20 -05:00
2019-08-07 16:24:26 +00:00
2019-06-05 15:26:28 +00:00
2019-04-17 04:52:47 +00:00
2019-07-28 06:09:56 +00:00
2019-08-14 14:52:39 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-02-27 15:54:13 +00:00
2019-04-17 04:52:47 +00:00
2019-12-24 15:57:33 -08:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-12-24 16:27:51 -08:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-12-24 16:27:51 -08:00
2019-11-04 10:36:26 -05:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-24 20:21:32 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-12-24 16:27:51 -08:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-02-28 13:25:44 -05:00
2019-11-14 16:38:20 -05:00
2019-11-14 16:38:20 -05:00
2020-03-13 16:51:13 +00:00
2019-04-17 04:52:47 +00:00
2019-12-24 15:57:33 -08:00
2019-04-17 04:52:47 +00:00
2019-11-14 16:38:20 -05:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-03-10 11:59:40 +00:00
2020-03-10 11:59:40 +00:00
2019-08-07 16:24:26 +00:00
2020-04-27 10:35:15 -07:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-02-27 15:54:13 +00:00
2019-04-17 04:52:47 +00:00
2019-09-29 14:18:06 +00:00
2020-04-09 17:28:50 -07:00
2020-01-31 09:54:35 -05:00
2020-02-27 15:54:13 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-02-27 15:54:13 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-11-14 16:38:20 -05:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-17 09:51:07 +00:00
2019-07-03 16:46:14 +00:00
2019-10-09 16:32:49 +00:00
2019-09-29 14:18:06 +00:00
2020-02-18 18:16:06 +01:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-04-29 12:00:38 +01:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-01-21 15:21:17 -08:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-04-14 18:09:10 -07:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-06-24 19:24:23 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-12-24 15:57:33 -08:00
2019-04-17 04:52:47 +00:00
2019-10-08 12:43:46 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-02-27 15:54:13 +00:00
2019-12-03 19:29:27 +03:00
2019-09-29 14:18:06 +00:00
2019-04-17 04:52:47 +00:00
2019-11-01 09:27:35 -04:00
2019-09-29 14:18:06 +00:00
2019-09-29 14:18:06 +00:00
2019-11-01 09:27:35 -04:00
2020-02-27 15:54:13 +00:00
2019-04-17 04:52:47 +00:00
2019-09-29 14:18:06 +00:00
2019-09-29 14:18:06 +00:00
2019-06-24 19:24:23 +00:00
2019-09-29 14:18:06 +00:00
2019-11-20 16:00:53 -08:00
2019-09-29 14:18:06 +00:00
2020-03-22 14:20:15 -07:00
2019-11-20 16:00:53 -08:00
2020-02-27 15:54:13 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-11-01 09:27:35 -04:00
2020-04-29 12:00:38 +01:00
2019-04-17 04:52:47 +00:00
2019-12-19 13:36:21 -05:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-01-31 09:54:35 -05:00
2020-02-27 15:54:13 +00:00
2019-11-14 16:38:20 -05:00
2019-11-14 16:38:20 -05:00
2019-11-14 16:38:20 -05:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-08-07 16:24:26 +00:00
2019-04-17 04:52:47 +00:00
2019-09-06 21:48:44 +00:00
2019-11-14 16:38:20 -05:00
2019-11-14 16:38:20 -05:00
2019-06-25 14:58:20 +00:00
2019-04-17 04:52:47 +00:00
2019-08-07 16:24:26 +00:00
2019-09-29 14:18:06 +00:00
2019-04-17 04:52:47 +00:00
2019-11-19 14:57:35 -05:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-12-24 16:27:51 -08:00
2019-04-17 04:52:47 +00:00
2020-04-29 12:00:38 +01:00
2020-02-27 15:54:13 +00:00