Sander de Smalen
e6eb84a191
[LoopVectorize] Use DataLayout::getIndexType instead of i32 for non-constant GEP indices.
...
This is specifically relevant for loops that vectorize using a scalable VF,
where the code results in:
%vscale = call i32 llvm.vscale.i32()
%vf.part1 = mul i32 %vscale, 4
%gep = getelementptr ..., i32 %vf.part1
Which InstCombine then changes into:
%vscale = call i32 llvm.vscale.i32()
%vf.part1 = mul i32 %vscale, 4
%vf.part1.zext = sext i32 %vf.part1 to i64
%gep = getelementptr ..., i32 %vf.part1.zext
D143016 tried to remove these extends, but that only works when
the call to llvm.vscale.i32() has a single use. After doing any
kind of CSE on these calls the combine no longer kicks in.
It seems more sensible to ask DataLayout what type to use, rather
than relying on InstCombine to insert the extend and hoping it can
fold it away.
I've only changed this for indices that are not constant, because
I vaguely remember there was a reason for sticking with i32. It
would also mean patching up loads more tests.
Reviewed By: paulwalker-arm
Differential Revision: https://reviews.llvm.org/D143267
2023-02-07 11:47:51 +00:00
..
2023-02-07 11:47:51 +00:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2023-02-07 11:47:51 +00:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2023-02-04 20:42:57 +00:00
2023-01-04 17:25:42 +01:00
2022-12-14 15:16:59 +01:00
2022-12-08 02:38:47 +03:00
2022-12-14 15:16:59 +01:00
2022-04-28 16:46:00 +02:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-27 23:01:41 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-06-22 10:49:27 +07:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:27:31 +01:00
2023-01-11 14:08:06 +00:00
2023-01-04 17:25:42 +01:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-04-28 16:46:00 +02:00
2022-12-19 20:55:44 +00:00
2023-02-04 20:42:57 +00:00
2023-01-11 14:08:06 +00:00
2023-01-11 14:08:06 +00:00
2023-01-21 17:14:13 +00:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2023-02-04 18:18:33 +00:00
2022-12-14 15:16:59 +01:00
2023-01-30 17:45:01 -08:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-06 10:56:17 +00:00
2022-12-14 15:16:59 +01:00
2022-12-05 22:17:30 +03:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-04 17:25:42 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-30 17:45:01 -08:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2023-01-30 09:41:40 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2023-01-04 17:25:42 +01:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2023-01-21 17:14:13 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-06 10:56:17 +00:00
2023-01-06 10:56:17 +00:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2022-12-23 12:51:21 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2023-01-06 12:14:45 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-06 10:56:17 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-05 22:17:30 +03:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-04 17:25:42 +01:00
2022-12-14 15:16:59 +01:00
2022-09-19 18:14:35 +01:00
2022-12-14 15:16:59 +01:00
2022-12-21 13:58:50 +00:00
2022-12-14 15:27:31 +01:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2023-01-11 14:08:06 +00:00
2023-01-11 14:08:06 +00:00
2023-01-11 14:08:06 +00:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-04-28 16:46:00 +02:00
2023-01-04 17:25:42 +01:00
2023-01-06 10:56:17 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2023-01-06 12:14:45 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-04-28 16:46:00 +02:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-08 02:38:47 +03:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2022-04-28 16:46:00 +02:00
2022-12-14 15:16:59 +01:00
2022-04-04 01:15:30 +02:00
2023-01-06 12:14:45 +01:00
2023-01-06 12:14:45 +01:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2022-04-28 16:46:00 +02:00
2023-01-11 14:08:06 +00:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2023-01-11 14:08:06 +00:00
2022-06-23 13:36:02 +02:00
2023-01-11 14:08:06 +00:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-05 11:37:37 +00:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:27:31 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:27:31 +01:00
2023-01-30 17:45:01 -08:00
2022-08-26 20:39:52 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2023-02-07 11:47:51 +00:00
2023-01-18 09:58:32 +01:00
2023-02-07 11:47:51 +00:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2022-12-05 22:17:30 +03:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2023-01-04 17:25:42 +01:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2023-02-06 11:30:14 +00:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2022-12-19 20:55:44 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-04 17:25:42 +01:00
2023-01-04 17:25:42 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2023-01-04 17:25:42 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-03-07 19:32:37 +03:00
2022-12-14 15:16:59 +01:00
2022-12-05 22:17:30 +03:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00
2022-12-24 18:34:54 +00:00
2023-01-06 10:56:17 +00:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2022-12-26 22:47:09 +00:00
2022-12-05 22:17:30 +03:00
2022-12-14 15:16:59 +01:00
2022-12-26 22:47:09 +00:00
2022-12-26 22:47:09 +00:00
2023-01-21 17:14:13 +00:00
2022-12-14 15:16:59 +01:00
2022-12-19 20:44:44 +00:00
2022-12-19 20:44:44 +00:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2023-01-18 09:58:32 +01:00