Max Kazantsev
eac01d4c62
[SCEV] Make MulOpsInlineThreshold lower to avoid excessive compilation time
...
MulOpsInlineThreshold option of SCEV is defaulted to 1000, which is inadequately high.
When constructing SCEVs of expressions like:
x1 = a * a
x2 = x1 * x1
x3 = x2 * x2
...
We actually have huge SCEVs with max allowed amount of operands inlined.
Such expressions are easy to get from unrolling of loops looking like
x = a
for (i = 0; i < n; i++)
x = x * x
Or more tricky cases where big powers are involved. If some non-linear analysis
tries to work with a SCEV that has 1000 operands, it may lead to excessively long
compilation. The attached test does not pass within 1 minute with default threshold.
This patch decreases its default value to 32, which looks much more reasonable if we
use analyzes with complexity O(N^2) or O(N^3) working with SCEV.
Differential Revision: https://reviews.llvm.org/D34397
llvm-svn: 305882
2017-06-21 07:28:13 +00:00
..
2017-03-21 21:39:51 +00:00
2015-02-27 19:29:02 +00:00
2015-06-17 20:52:32 +00:00
2015-06-17 20:52:32 +00:00
2015-06-17 20:52:32 +00:00
2016-08-03 20:53:23 +00:00
2015-03-13 18:20:45 +00:00
2016-08-03 20:53:23 +00:00
2015-02-27 21:17:42 +00:00
2016-08-03 20:53:23 +00:00
2016-08-03 20:53:23 +00:00
2015-02-27 21:17:42 +00:00
2016-08-03 20:53:23 +00:00
2016-08-03 20:53:23 +00:00
2015-03-04 18:43:29 +00:00
2015-01-06 19:02:56 +00:00
2015-02-27 21:17:42 +00:00
2017-05-08 17:37:29 +00:00
2017-02-17 17:36:52 +00:00
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 19:29:02 +00:00
2016-08-03 20:53:23 +00:00
2015-02-27 21:17:42 +00:00
2016-06-05 18:01:19 +00:00
2015-08-19 01:51:51 +00:00
2015-02-27 19:29:02 +00:00
2015-11-03 16:27:04 +00:00
2015-06-17 20:52:32 +00:00
2015-02-27 19:29:02 +00:00
2016-08-11 21:31:40 +00:00
2015-11-05 23:45:38 +00:00
2016-08-03 20:53:23 +00:00
2015-02-27 21:17:42 +00:00
2017-04-10 20:18:21 +00:00
2015-05-28 21:49:07 +00:00
2016-08-03 20:53:23 +00:00
2017-06-21 07:28:13 +00:00
2015-02-27 21:17:42 +00:00
2015-06-17 20:52:32 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2016-11-15 17:34:52 +00:00
2016-11-15 17:34:52 +00:00
2015-02-27 21:17:42 +00:00
2015-05-28 21:49:07 +00:00
2017-06-09 06:11:59 +00:00
2016-08-03 20:53:23 +00:00
2016-02-04 01:27:38 +00:00
2015-03-04 18:43:29 +00:00
2016-08-03 20:53:23 +00:00
2015-03-02 21:41:07 +00:00
2015-04-14 03:20:32 +00:00
2016-08-11 21:31:40 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2016-08-03 20:53:23 +00:00
2016-08-03 20:53:23 +00:00
2016-08-03 20:53:23 +00:00
2016-08-03 20:53:23 +00:00
2016-08-03 20:53:23 +00:00
2016-08-03 20:53:23 +00:00
2016-08-03 20:53:23 +00:00
2016-08-03 20:53:23 +00:00
2015-07-27 21:42:49 +00:00
2015-07-09 18:46:12 +00:00
2016-08-03 20:53:23 +00:00
2015-02-27 21:17:42 +00:00
2016-05-29 00:36:25 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2016-10-19 19:43:54 +00:00
2015-02-27 21:17:42 +00:00
2015-03-04 18:43:29 +00:00
2015-02-27 21:17:42 +00:00
2015-08-06 20:43:41 +00:00
2016-02-04 01:27:38 +00:00
2015-12-08 00:13:17 +00:00
2015-09-27 21:09:48 +00:00
2015-09-28 21:14:32 +00:00
2015-10-07 17:38:31 +00:00
2015-10-06 21:44:49 +00:00
2015-10-08 18:28:36 +00:00
2015-10-31 23:21:40 +00:00
2015-11-05 23:45:38 +00:00
2016-01-17 18:12:52 +00:00
2015-12-08 00:13:21 +00:00
2016-01-19 20:53:51 +00:00
2016-03-18 20:37:07 +00:00
2016-03-21 12:44:29 +00:00
2016-03-30 21:12:06 +00:00
2016-08-13 00:58:31 +00:00
2017-02-25 20:30:45 +00:00
2015-03-04 18:43:29 +00:00
2016-08-03 20:53:23 +00:00
2017-03-30 21:56:56 +00:00
2016-01-27 07:40:41 +00:00
2016-06-05 18:01:19 +00:00
2016-08-03 20:53:23 +00:00
2016-08-03 20:53:23 +00:00
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2016-04-19 23:51:52 +00:00
2015-01-15 01:46:09 +00:00
2015-07-28 03:50:09 +00:00
2016-02-04 01:27:38 +00:00
2016-08-03 20:53:23 +00:00
2016-08-11 21:31:40 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-09-20 01:52:18 +00:00
2015-02-27 21:17:42 +00:00
2015-11-20 01:26:13 +00:00