Graham Hunter
db8fcb2c25
[LAA] Add recursive IR walker for forked pointers
...
This builds on the previous forked pointers patch, which only accepted
a single select as the pointer to check. A recursive function to walk
through IR has been added, which searches for either a loop-invariant
or addrec SCEV.
This will only handle a single fork at present, so selects of selects
or a GEP with a select for both the base and offset will be rejected.
There is also a recursion limit with a cli option to change it.
Reviewed By: fhahn, david-arm
Differential Revision: https://reviews.llvm.org/D108699
2022-07-18 12:06:17 +01:00
..
2022-07-16 17:24:07 +01:00
2022-04-08 17:46:49 -07:00
2022-07-07 16:10:00 +01:00
2022-05-20 09:58:40 +01:00
2022-07-15 01:47:33 -07:00
2022-04-04 01:15:30 +02:00
2022-07-13 09:43:21 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2021-12-13 16:56:22 -08:00
2022-03-09 17:50:34 -05:00
2022-05-22 20:11:47 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-05-31 15:45:02 +02:00
2022-04-28 16:46:00 +02:00
2022-06-22 10:49:27 +07:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-01-05 10:46:06 +00:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-05-20 09:58:40 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-05-21 16:01:38 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-07-18 09:35:34 +01:00
2022-07-06 15:31:57 -07:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-07-18 12:06:17 +01:00
2022-05-16 15:27:22 +01:00
2022-04-28 16:46:00 +02:00
2022-01-08 20:46:31 +00:00
2021-10-18 16:48:10 -07:00
2022-04-04 01:15:30 +02:00
2022-06-03 11:48:31 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-07-06 10:11:34 +02:00
2021-12-20 15:10:41 +00:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-06-09 12:05:37 +01:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-07 23:21:21 +02:00
2022-05-16 16:30:26 +02:00
2022-06-09 12:05:37 +01:00
2022-04-28 16:46:00 +02:00
2022-06-30 09:11:48 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2021-12-13 16:56:22 -08:00
2022-05-31 15:45:02 +02:00
2021-12-13 16:56:22 -08:00
2021-12-13 16:56:22 -08:00
2022-05-21 16:01:38 +01:00
2022-04-04 01:15:30 +02:00
2021-08-05 14:39:08 +01:00
2022-06-23 13:36:02 +02:00
2022-03-07 19:32:37 +03:00
2021-12-13 16:56:22 -08:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-02-23 15:57:39 +00:00
2021-12-20 16:23:29 +00:00
2021-09-15 10:45:50 +01:00
2022-05-16 15:27:22 +01:00
2021-10-18 18:03:09 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-05-16 15:27:22 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-03-07 19:32:37 +03:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-03-07 19:32:37 +03:00
2022-05-21 16:01:38 +01:00
2022-04-04 01:15:30 +02:00
2022-05-20 09:58:40 +01:00
2022-02-09 20:02:54 +00:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-02 19:34:32 +01:00
2022-04-28 16:46:00 +02:00
2022-07-07 08:40:27 -07:00
2022-06-17 21:06:26 +02:00
2021-09-18 20:51:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-06-09 15:20:10 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-06-23 13:36:02 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-06-23 13:36:02 +02:00
2022-05-21 16:01:38 +01:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-02-24 09:01:20 +01:00
2022-02-22 12:04:35 +00:00
2022-06-30 15:51:39 -04:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-06-07 10:21:31 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-05-19 20:36:46 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-05-16 15:27:22 +01:00
2022-05-16 15:27:22 +01:00
2022-05-16 15:27:22 +01:00
2022-05-16 15:27:22 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2021-08-10 08:27:43 +01:00
2022-03-13 17:15:24 +00:00
2021-08-06 10:13:15 +01:00
2022-05-16 15:27:22 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2021-10-27 22:21:37 +03:00
2022-04-04 01:15:30 +02:00
2021-11-18 14:08:57 +00:00
2022-07-12 09:40:49 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-06-09 12:05:37 +01:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-05-16 15:27:22 +01:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-06-09 12:05:37 +01:00
2022-03-07 19:32:37 +03:00
2022-05-19 12:28:01 +08:00
2021-12-13 16:56:22 -08:00
2022-01-24 13:04:09 +00:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-09 14:19:47 +02:00
2022-04-04 01:15:30 +02:00
2022-06-03 11:48:31 +01:00
2022-06-03 11:48:31 +01:00
2022-06-03 11:48:31 +01:00
2022-07-18 09:35:34 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00