Florian Hahn
4e2b4f97a0
[ShrinkWrap] Use underlying object to rule out stack access.
...
Allow shrink-wrapping past memory accesses that only access globals or
function arguments. This patch uses getUnderlyingObject to try to
identify the accessed object by a given memory operand. If it is a
global or an argument, it does not access the stack of the current
function and should not block shrink wrapping.
Note that the caller's stack may get accessed when passing an argument
via the stack, but not the stack of the current function.
This addresses part of the TODO from D63152.
Reviewed By: thegameg
Differential Revision: https://reviews.llvm.org/D149668
2023-05-03 09:28:07 +01:00
..
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-09 08:58:33 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-10-12 12:49:17 +02:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-09 20:17:37 +00:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-12-13 16:08:09 +01:00
2023-01-18 09:58:32 +01:00
2022-12-22 03:31:36 -05:00
2022-12-22 03:31:36 -05:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-09 01:04:45 +03:00
2022-12-09 01:04:45 +03:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-25 13:28:27 -08:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-02-09 18:45:20 +03:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-04-26 09:03:07 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-09 08:58:33 +00:00
2023-01-06 18:03:48 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-06 19:31:10 +00:00
2023-01-06 19:31:10 +00:00
2023-01-06 19:31:10 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-06 19:31:10 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-09 01:04:45 +03:00
2023-01-06 10:51:02 +00:00
2023-03-29 21:01:38 +00:00
2023-03-16 09:55:15 +00:00
2023-01-11 15:07:11 -08:00
2022-09-22 17:08:41 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-15 02:57:08 +00:00
2022-12-22 03:31:36 -05:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-02-19 16:52:26 -05:00
2022-12-13 16:08:09 +01:00
2022-08-09 13:11:51 +08:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-31 14:12:02 -08:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-09-26 16:23:37 -07:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-11 15:07:11 -08:00
2023-01-11 15:07:11 -08:00
2023-01-11 15:07:11 -08:00
2023-04-20 11:42:24 -07:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-05 15:36:50 +00:00
2023-04-25 13:17:46 -07:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-03-16 23:54:03 +05:30
2023-03-16 23:54:03 +05:30
2022-12-13 16:08:09 +01:00
2023-02-19 16:52:26 -05:00
2023-02-19 16:52:26 -05:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-04-27 13:56:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-06 19:31:10 +00:00
2023-01-06 18:03:48 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-20 14:47:11 +00:00
2022-12-13 16:08:09 +01:00
2023-01-06 18:03:48 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-09 08:58:33 +00:00
2023-01-09 08:58:33 +00:00
2023-01-20 14:47:11 +00:00
2022-12-13 16:08:09 +01:00
2023-01-09 08:58:33 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-06 10:51:02 +00:00
2022-12-13 16:08:09 +01:00
2023-01-06 19:31:10 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-09-30 16:01:33 -07:00
2023-01-06 19:31:10 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-11-08 12:15:42 +01:00
2022-10-12 12:49:17 +02:00
2023-05-03 09:28:07 +01:00
2023-03-06 11:31:46 +04:00
2022-10-12 12:49:17 +02:00
2022-12-13 16:08:09 +01:00
2022-10-12 12:49:17 +02:00
2022-12-13 16:08:09 +01:00
2022-12-09 20:17:37 +00:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-10-12 12:49:17 +02:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-22 03:31:36 -05:00
2022-10-27 08:51:07 +00:00
2022-12-13 16:08:09 +01:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2023-01-06 19:31:10 +00:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-12-13 16:08:09 +01:00
2023-01-06 19:31:10 +00:00
2023-01-06 18:03:48 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-12 22:34:49 +00:00
2022-12-13 16:08:09 +01:00
2023-03-29 21:01:38 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-09 08:58:33 +00:00
2023-01-06 19:31:10 +00:00
2023-01-06 19:31:10 +00:00
2023-01-06 18:03:48 +00:00
2023-01-06 18:03:48 +00:00
2023-01-06 19:31:10 +00:00
2023-01-06 19:31:10 +00:00
2023-01-06 18:03:48 +00:00
2023-01-06 18:03:48 +00:00
2023-01-06 19:31:10 +00:00
2022-10-12 12:49:17 +02:00
2023-01-06 18:03:48 +00:00
2023-01-06 19:31:10 +00:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2023-01-06 19:31:10 +00:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2023-02-09 18:45:20 +03:00
2022-12-13 16:08:09 +01:00
2022-12-16 22:58:41 +03:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-16 22:58:41 +03:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-10-12 12:49:17 +02:00
2022-08-12 14:01:52 -07:00
2022-12-01 21:25:59 +01:00
2022-12-13 16:08:09 +01:00
2023-04-26 16:16:33 -07:00
2023-04-26 16:16:33 -07:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-18 09:58:32 +01:00
2022-12-13 16:08:09 +01:00
2022-10-12 12:49:17 +02:00
2022-12-13 16:08:09 +01:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00