Eli Friedman
60712732ea
[IndVars] Teach replaceCongruentIVs to avoid scrambling induction variables
...
replaceCongruentIVs analysis is based on ScalarEvolution; this makes
comparing different PHIs and performing the replacement straightforward.
However, it can have some side-effects: it isn't aware whether an
induction variable is in canonical form, so it can perform replacements
which obscure the meaning of the IR.
In test22 in widen-loop-comp.ll, the resulting loop can't be analyzed by
ScalarEvolution at all.
My attempted solution is to restrict the transform: don't try to replace
induction variables using PHI nodes that don't represent simple
induction variables.
I'm not sure if this is the best solution; suggestions welcome.
Differential Revision: https://reviews.llvm.org/D121950
2023-07-12 12:27:39 -07:00
..
2023-07-12 12:27:39 -07:00
2023-05-17 17:03:15 +02:00
2023-05-17 17:03:15 +02:00
2023-05-17 17:03:15 +02:00
2023-05-17 17:03:15 +02:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2023-04-11 12:37:10 +07:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2022-12-13 15:08:28 +01:00
2023-01-20 15:52:07 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2023-01-11 11:36:02 +07:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2023-01-10 23:03:07 -07:00
2023-04-12 13:42:31 +07:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00
2023-06-26 14:43:31 +02:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2022-12-13 15:08:28 +01:00
2022-12-13 14:50:13 +01:00
2023-04-27 15:07:19 +02:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2023-03-15 20:57:34 +00:00
2022-12-13 15:20:35 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2023-07-12 14:35:55 +02:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2023-04-21 18:03:41 +02:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00
2023-06-03 22:29:09 +08:00
2023-03-14 10:55:02 +01:00
2023-05-31 11:21:35 +02:00
2023-04-25 16:40:37 +07:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2023-04-29 21:33:30 +01:00
2023-03-14 10:55:02 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2023-03-14 10:55:02 +01:00
2022-12-14 17:53:06 +03:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2023-06-01 09:46:16 +02:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2023-04-18 13:17:45 +07:00
2023-02-10 13:57:39 +07:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-13 14:50:13 +01:00
2022-12-14 15:37:58 +01:00
2022-12-13 14:50:13 +01:00