Chandler Carruth
fba79f0538
[PM] Add one of the features left out of the initial inliner patch:
...
skipping indirectly recursive inline chains.
To do this, we implicitly build an inline stack for each callsite and
check prior to inlining that doing so would not form a cycle. This uses
the exact same technique and even shares some code with the legacy PM
inliner.
This solution remains deeply unsatisfying to me because it means we
cannot actually iterate the inliner externally. Doing so would not be
able to easily detect and avoid such cycles. Some day I would very much
like to have a solution that works without this internal state to detect
cycles, but this is not that day.
llvm-svn: 290590
2016-12-27 06:46:20 +00:00
..
2015-07-02 01:36:31 +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
2015-06-17 20:52:32 +00:00
2015-02-27 21:17:42 +00:00
2015-06-17 20:52:32 +00:00
2015-06-17 20:52:32 +00:00
2016-12-27 02:47:37 +00:00
2016-12-27 02:47:37 +00:00
2016-12-27 02:47:37 +00:00
2016-12-27 02:47:37 +00:00
2016-12-27 02:47:37 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2016-05-09 21:51:53 +00:00
2016-11-14 11:14:41 +00:00
2016-04-15 15:57:41 +00:00
2016-12-22 00:45:21 +00:00
2015-02-27 19:29:02 +00:00
2015-03-04 18:43:29 +00:00
2016-12-26 23:43:27 +00:00
2016-06-27 22:31:53 +00:00
2016-12-27 03:39:54 +00:00
2016-12-20 03:15:32 +00:00
2016-04-06 02:25:12 +00:00
2015-02-27 21:17:42 +00:00
2015-06-16 20:24:25 +00:00
2015-03-13 18:20:45 +00:00
2015-06-17 20:52:32 +00:00
2016-12-27 02:47:37 +00:00
2016-12-27 02:47:37 +00:00
2016-12-20 03:15:32 +00:00
2016-04-08 00:48:30 +00:00
2016-06-15 00:19:09 +00:00
2015-04-20 16:11:05 +00:00
2015-06-17 20:52:32 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2015-12-19 22:40:28 +00:00
2016-05-12 01:17:38 +00:00
2016-05-12 01:17:38 +00:00
2015-04-16 23:24:18 +00:00
2016-06-15 00:19:09 +00:00
2015-03-13 18:20:45 +00:00
2016-11-28 11:07:37 +00:00
2016-12-27 02:47:37 +00:00
2015-07-07 22:25:32 +00:00
2016-03-31 00:18:46 +00:00
2015-02-27 21:17:42 +00:00
2016-04-15 15:57:41 +00:00
2016-12-27 06:46:16 +00:00
2016-08-19 16:37:40 +00:00
2016-04-15 15:57:41 +00:00
2016-12-27 02:47:37 +00:00
2016-12-27 01:24:50 +00:00
2015-02-27 21:17:42 +00:00
2016-12-27 02:47:37 +00:00
2015-06-17 20:52:32 +00:00
2015-04-16 23:24:18 +00:00
2016-07-29 00:27:16 +00:00
2016-11-14 11:14:41 +00:00
2016-02-01 20:55:11 +00:00
2015-09-23 15:49:08 +00:00
2015-02-27 21:17:42 +00:00
2016-11-14 11:14:41 +00:00
2016-11-14 11:14:41 +00:00
2015-07-27 18:31:03 +00:00
2015-02-27 21:17:42 +00:00
2016-11-28 11:07:37 +00:00
2016-09-04 01:23:20 +00:00
2016-11-14 11:14:41 +00:00
2016-11-14 11:14:41 +00:00
2015-02-12 21:04:22 +00:00
2016-12-27 02:47:37 +00:00
2015-06-17 20:52:32 +00:00
2015-04-16 23:24:18 +00:00
2016-11-14 11:14:41 +00:00
2014-11-04 02:02:14 +00:00
2016-05-19 23:02:09 +00:00
2015-11-19 05:56:52 +00:00
2016-12-27 02:47:37 +00:00
2016-12-27 02:47:37 +00:00
2016-12-27 02:47:37 +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-12-20 03:15:32 +00:00
2015-03-04 18:43:29 +00:00
2016-09-09 22:40:27 +00:00
2016-04-15 15:57:41 +00:00
2016-12-20 03:15:32 +00:00
2015-11-22 00:16:24 +00:00
2015-11-19 05:56:52 +00:00
2015-11-22 00:16:24 +00:00
2015-02-27 21:17:42 +00:00
2016-12-27 06:46:20 +00:00
2015-06-26 20:51:17 +00:00
2014-07-03 02:11:49 +00:00
2016-11-14 11:14:41 +00:00
2016-08-10 00:44:44 +00:00
2016-11-10 17:47:03 +00:00
2016-09-27 21:58:17 +00:00
2016-04-28 23:00:04 +00:00
2016-07-25 05:00:00 +00:00
2015-01-06 22:55:16 +00:00
2015-05-05 20:14:22 +00:00
2016-02-23 17:11:04 +00:00
2016-06-25 00:04:10 +00:00
2016-06-27 16:50:18 +00:00
2016-03-16 18:15:34 +00:00
2016-11-14 11:14:41 +00:00
2015-03-20 18:33:12 +00:00
2015-05-27 02:49:05 +00:00
2015-11-10 09:47:48 +00:00