Simon Pilgrim
594d93848a
[TableGen] TypeInfer - Cache the legal types as TypeSetByHwMode
...
We were just caching the MVT set of legal types, then every call creating a new TypeSetByHwMode with it and passing it back on the stack. There's no need to do this - we can create and cache the whole TypeSetByHwMode once and return a const reference to it each time.
Additionally, TypeInfer::expandOverloads wasn't making use of the fact that the cache just contains a default mode containing all the types.
Saves up to 30secs in debug builds of x86 -gen-dag-isel.
Differential Revision: https://reviews.llvm.org/D50903
llvm-svn: 340042
2018-08-17 15:54:07 +00:00
..
2018-07-13 16:36:14 +00:00
2018-06-18 01:28:01 +00:00
2016-01-22 05:59:37 +00:00
2016-01-22 05:59:40 +00:00
2017-12-13 21:31:13 +00:00
2017-10-16 14:52:26 +00:00
2018-05-25 15:55:37 +00:00
2017-07-04 06:16:53 +00:00
2018-08-17 15:54:07 +00:00
2018-08-17 15:54:07 +00:00
2017-09-14 16:56:21 +00:00
2017-09-14 16:56:21 +00:00
2018-07-13 15:19:33 +00:00
2018-07-13 15:19:33 +00:00
2018-03-23 23:58:25 +00:00
2018-01-08 16:25:40 +00:00
2018-07-02 19:05:09 +00:00
2018-08-16 15:29:24 +00:00
2018-08-14 18:36:54 +00:00
2018-08-14 18:36:54 +00:00
2018-05-23 22:10:21 +00:00
2018-05-23 22:10:21 +00:00
2018-04-06 20:18:05 +00:00
2018-07-13 13:18:00 +00:00
2017-12-13 21:31:13 +00:00
2018-03-23 23:58:25 +00:00
2017-11-22 07:11:01 +00:00
2018-08-16 15:29:24 +00:00
2018-05-14 12:53:11 +00:00
2018-05-14 12:53:11 +00:00
2018-05-10 22:16:44 +00:00
2018-08-14 11:17:38 +00:00
2018-07-25 17:33:20 +00:00
2018-08-12 21:49:42 +00:00
2018-04-06 20:18:05 +00:00
2018-03-23 23:58:25 +00:00
2018-07-13 15:19:33 +00:00
2018-08-14 18:36:54 +00:00
2018-07-09 18:50:06 +00:00
2018-03-29 00:29:43 +00:00
2017-08-29 02:01:56 +00:00
2018-08-14 18:36:54 +00:00
2018-08-14 18:36:54 +00:00
2018-05-14 12:53:11 +00:00
2018-05-14 12:53:11 +00:00
2018-08-09 15:19:07 +00:00
2018-05-14 12:53:11 +00:00
2017-12-20 19:36:28 +00:00
2017-12-20 19:36:28 +00:00
2018-06-21 13:36:22 +00:00
2017-09-14 18:33:25 +00:00
2018-08-14 18:36:54 +00:00
2018-04-30 14:59:11 +00:00
2018-05-01 15:54:18 +00:00
2018-07-11 08:40:19 +00:00
2018-06-23 02:02:38 +00:00
2017-04-21 15:59:56 +00:00
2016-11-19 13:05:44 +00:00
2018-05-10 22:16:44 +00:00
2018-05-10 22:16:44 +00:00
2018-03-24 07:15:47 +00:00
2018-04-22 00:52:02 +00:00
2018-03-24 07:48:54 +00:00
2018-06-19 04:24:44 +00:00
2018-06-16 23:25:50 +00:00
2014-01-01 14:22:37 +00:00
2017-07-04 13:09:29 +00:00
2018-08-13 22:06:28 +00:00
2018-06-19 04:24:42 +00:00