Jacob Weightman
814a0abcce
AMDGPU: allow reordering of functions in AMDGPUResourceUsageAnalysis
...
The AMDGPUResourceUsageAnalysis was previously a CGSCC pass, and assumed
that a function's callees were always analyzed prior to their callees.
When it was refactored into a module pass, this assumption no longer
always holds. This results in calls being erroneously identified as
indirect, and reserving private segment space for them. This results in
significantly slower kernel launch latency.
This patch changes the order in which the module's functions are analyzed
from the order in which they occur in the module to a post-order traversal
of the call graph. Perhaps Clang always generates the module's functions
in such an order, but this is not the case for the Cray Fortran compiler.
Reviewed By: #amdgpu, arsenm
Differential Revision: https://reviews.llvm.org/D126025
2022-06-03 15:55:54 -05:00
..
2022-06-02 17:05:55 -04:00
2022-04-21 07:57:26 +05:30
2022-06-01 16:24:09 +00:00
2022-05-18 11:04:33 +01:00
2022-04-12 12:36:30 -07:00
2022-04-21 07:57:26 +05:30
2022-06-01 16:24:09 +00:00
2022-03-21 11:42:57 +00:00
2022-06-01 16:24:09 +00:00
2022-04-21 07:57:26 +05:30
2022-05-24 10:05:39 -07:00
2022-04-21 07:57:26 +05:30
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-04-05 22:01:31 -04:00
2021-01-05 14:10:03 -08:00
2022-05-18 11:04:33 +01:00
2022-04-12 12:36:30 -07:00
2022-04-12 12:36:30 -07:00
2022-04-12 12:36:30 -07:00
2022-03-29 11:05:23 +01:00
2022-05-10 09:15:51 -05:00
2022-05-18 10:19:35 +01:00
2022-03-29 11:05:23 +01:00
2022-03-29 11:05:23 +01:00
2022-04-20 14:42:48 +01:00
2022-06-01 16:24:09 +00:00
2022-04-11 19:43:37 -04:00
2022-06-01 21:14:49 -04:00
2022-03-25 11:40:18 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 10:19:35 +01:00
2022-04-11 19:43:37 -04:00
2022-06-01 16:24:09 +00:00
2021-06-30 16:54:13 -04:00
2022-06-01 16:24:09 +00:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-04-11 19:43:37 -04:00
2022-05-11 10:31:49 -04:00
2022-05-18 11:04:33 +01:00
2022-04-25 21:22:33 +05:30
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-14 20:51:31 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-16 15:15:23 +01:00
2022-06-01 16:24:09 +00:00
2022-04-12 12:36:30 -07:00
2022-05-26 11:37:19 +01:00
2022-03-21 21:11:20 +01:00
2022-05-05 11:30:31 +01:00
2022-04-21 09:37:16 -07:00
2022-04-21 09:37:16 -07:00
2022-04-21 09:37:16 -07:00
2022-04-07 15:08:29 -07:00
2022-04-12 12:36:30 -07:00
2022-04-15 13:43:50 -05:00
2022-04-06 10:49:55 +01:00
2022-06-02 17:05:55 -04:00
2022-05-18 11:04:33 +01:00
2022-06-01 17:36:13 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-25 16:20:26 +00:00
2022-04-14 20:52:05 -04:00
2022-04-22 10:49:50 -04:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2021-12-01 22:31:28 -08:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-05-20 16:14:00 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 10:19:35 +01:00
2022-06-01 16:24:09 +00:00
2022-04-20 23:06:35 +05:30
2022-04-20 23:06:35 +05:30
2022-05-11 10:31:49 -04:00
2022-02-23 15:00:49 +00:00
2022-02-18 16:10:56 +00:00
2022-05-18 11:04:33 +01:00
2022-05-11 10:31:49 -04:00
2022-04-22 09:37:40 +05:30
2022-05-18 11:04:33 +01:00
2022-03-22 11:43:23 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-04-19 22:14:48 -04:00
2022-05-18 10:00:06 +01:00
2022-04-13 14:21:45 -07:00
2022-05-25 16:20:26 +00:00
2022-04-14 20:52:05 -04:00
2022-05-05 13:27:45 -04:00
2022-05-05 13:27:45 -04:00
2022-06-01 16:24:09 +00:00
2022-05-17 12:35:21 +01:00
2022-05-11 10:31:49 -04:00
2022-05-11 13:22:51 -07:00
2022-05-04 14:45:16 -07:00
2022-05-26 11:37:19 +01:00
2022-04-12 12:36:30 -07:00
2022-04-12 12:36:30 -07:00
2022-06-03 15:55:54 -05:00
2021-11-20 10:32:41 +05:30
2017-12-04 17:18:51 +00:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-04-12 19:16:56 -04:00
2022-05-18 10:19:35 +01:00
2022-04-11 16:12:39 -07:00
2022-05-25 12:14:01 -05:00
2022-06-02 17:05:55 -04:00
2022-06-02 17:05:55 -04:00
2022-05-18 11:04:33 +01:00
2022-05-11 10:31:49 -04:00
2022-04-14 13:30:48 +08:00
2022-04-12 19:02:48 -04:00
2022-05-11 10:31:49 -04:00
2022-05-04 14:45:16 -07:00
2022-05-17 10:45:55 -07:00
2022-04-12 16:07:13 -07:00
2022-06-01 16:24:09 +00:00
2022-03-31 08:06:31 -07:00
2022-05-26 18:45:40 -07:00
2022-05-05 13:27:45 -04:00
2022-04-11 14:04:21 -05:00
2022-04-11 14:04:21 -05:00
2022-05-18 10:19:35 +01:00
2021-12-01 22:31:28 -08:00
2022-05-05 09:34:18 -07:00
2022-05-17 12:35:27 -07:00
2022-05-24 10:05:39 -07:00
2022-05-31 14:07:46 -07:00
2020-02-10 09:04:23 +01:00
2022-05-18 11:04:33 +01:00
2022-05-31 14:07:46 -07:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-04-07 08:35:23 -07:00
2022-03-22 13:52:29 -07:00
2022-05-23 12:09:58 +01:00
2022-05-23 12:09:58 +01:00
2022-03-22 13:52:29 -07:00
2022-05-23 12:09:58 +01:00
2022-05-26 11:37:19 +01:00
2022-05-17 10:32:13 -07:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-05-20 17:18:03 +01:00
2022-05-20 17:18:03 +01:00
2022-05-20 17:18:03 +01:00
2022-05-11 13:22:51 -07:00
2022-05-12 16:04:26 +09:00
2022-05-17 10:32:13 -07:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-17 13:40:11 +01:00
2022-04-12 07:49:40 -07:00
2022-04-07 14:27:37 -07:00
2022-05-25 16:20:26 +00:00
2022-04-05 21:57:50 -04:00
2022-05-04 22:42:07 +01:00
2022-05-04 22:42:07 +01:00
2022-05-04 22:42:07 +01:00
2022-05-04 22:42:07 +01:00
2022-05-11 10:31:49 -04:00
2022-05-18 11:04:33 +01:00
2022-05-11 10:31:49 -04:00
2022-04-14 20:21:21 -04:00
2022-04-08 13:08:32 -07:00
2022-05-10 09:15:51 -05:00
2021-02-23 15:39:19 +00:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-04-13 14:21:45 -07:00
2022-05-18 10:19:35 +01:00
2022-04-22 10:49:50 -04:00
2022-06-02 09:40:56 +02:00
2022-06-02 09:40:56 +02:00
2022-06-02 09:40:56 +02:00
2022-05-16 09:41:40 -04:00
2022-04-06 11:02:06 +01:00
2022-05-31 17:48:52 +00:00
2022-03-22 13:52:29 -07:00
2022-03-24 12:40:42 -07:00
2022-05-26 11:37:19 +01:00
2022-03-28 17:44:54 +09:00
2022-05-11 10:31:49 -04:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 10:19:35 +01:00
2022-05-11 10:31:49 -04:00
2022-04-14 13:30:56 +08:00
2022-03-23 13:56:09 -07:00
2022-06-03 12:24:33 +07:00
2022-04-14 16:06:24 +09:00
2022-04-06 10:55:54 +01:00
2022-04-05 19:10:23 +00:00
2022-05-18 11:04:33 +01:00
2022-05-04 00:05:15 +01:00
2022-05-11 10:31:49 -04:00
2022-05-04 00:05:15 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-04-21 07:57:26 +05:30
2022-04-26 13:17:16 +05:30
2022-04-21 07:57:26 +05:30
2022-06-01 16:24:09 +00:00
2022-04-01 13:48:13 +01:00
2022-05-21 10:42:58 +01:00
2022-05-19 11:20:08 +01:00
2022-04-08 19:06:36 -04:00
2022-05-18 10:19:35 +01:00
2022-04-12 12:36:30 -07:00
2022-04-06 12:23:17 +01:00
2016-07-15 21:27:08 +00:00
2022-04-25 17:07:17 -04:00
2022-04-12 19:02:48 -04:00
2022-04-12 19:16:56 -04:00
2022-04-21 07:57:26 +05:30
2022-04-21 07:16:58 +05:30
2022-05-23 12:09:58 +01:00
2022-04-13 16:25:30 -04:00
2022-04-12 20:03:02 -04:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 10:19:35 +01:00
2022-05-17 13:40:11 +01:00
2022-05-03 07:28:15 +05:30
2022-05-11 13:22:51 -07:00
2022-06-01 16:24:09 +00:00
2022-05-11 10:31:49 -04:00
2022-04-01 13:48:13 +01:00
2022-05-11 10:31:49 -04:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-02-18 16:10:56 +00:00
2022-04-27 14:37:18 +01:00
2022-04-29 12:12:40 +01:00
2022-05-18 10:19:35 +01:00
2022-03-31 16:30:01 -04:00
2022-06-01 16:24:09 +00:00
2022-04-21 07:57:26 +05:30
2022-06-01 16:24:09 +00:00
2022-04-06 12:23:17 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 10:19:35 +01:00
2022-04-21 14:52:29 +01:00
2017-03-21 21:39:51 +00:00
2022-04-12 12:36:30 -07:00
2022-03-22 11:15:37 +09:00
2022-05-26 11:37:19 +01:00
2022-04-20 23:06:35 +05:30
2022-04-20 23:06:35 +05:30
2022-04-21 07:57:26 +05:30
2022-04-21 07:57:26 +05:30
2022-04-26 13:17:16 +05:30
2022-05-11 10:31:49 -04:00
2022-04-21 07:57:26 +05:30
2022-04-21 07:57:26 +05:30
2022-06-01 16:24:09 +00:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-06-02 00:49:11 +00:00
2022-05-18 11:04:33 +01:00
2022-04-19 09:34:32 +01:00
2022-04-07 15:08:29 -07:00
2022-04-12 07:49:40 -07:00
2022-04-13 15:00:18 -04:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 10:19:35 +01:00
2022-05-18 11:04:33 +01:00
2022-04-12 12:36:30 -07:00
2022-04-12 12:36:30 -07:00
2022-04-12 12:36:30 -07:00
2022-04-12 12:36:30 -07:00
2022-04-12 12:36:30 -07:00
2022-04-12 12:36:30 -07:00
2022-04-11 19:43:37 -04:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 11:04:33 +01:00
2022-05-18 10:19:35 +01:00
2022-05-11 10:31:49 -04:00
2022-03-25 11:40:18 +01:00
2022-04-08 12:47:24 +02:00
2022-05-11 10:31:49 -04:00
2022-05-18 11:04:33 +01:00
2022-05-20 16:14:00 +01:00
2022-05-20 16:14:00 +01:00
2022-06-01 16:24:09 +00:00
2022-05-24 10:05:39 -07:00
2022-04-12 14:15:44 +09:00
2022-03-28 17:44:54 +09:00
2022-04-26 13:17:16 +05:30
2022-06-01 16:24:09 +00:00
2022-06-01 16:24:09 +00:00
2022-04-18 21:24:08 -07:00
2022-04-18 21:24:08 -07:00
2022-03-25 11:40:18 +01:00
2022-04-19 21:07:13 -04:00
2021-01-26 11:25:51 -08:00
2022-04-07 19:08:59 +08:00
2022-05-18 10:19:35 +01:00
2022-05-18 10:19:35 +01:00
2022-04-22 10:49:50 -04:00