Ramkumar Ramachandra
04b1276ad3
LoopVectorize/iv-select-cmp: add tests for truncated IV
...
The current tests in iv-select-cmp.ll are not representative of clang
output of common real-world C programs, which are often written with i32
induction vars, as opposed to i64 induction vars. Hence, add five tests
corresponding to the following programs:
int test(int *a, int n) {
int rdx = 331;
for (int i = 0; i < n; i++) {
if (a[i] > 3)
rdx = i;
}
return rdx;
}
int test(int *a) {
int rdx = 331;
for (int i = 0; i < 20000; i++) {
if (a[i] > 3)
rdx = i;
}
return rdx;
}
int test(int *a, long n) {
int rdx = 331;
for (int i = 0; i < n; i++) {
if (a[i] > 3)
rdx = i;
}
return rdx;
}
int test(int *a, unsigned n) {
int rdx = 331;
for (int i = 0; i < n; i++) {
if (a[i] > 3)
rdx = i;
}
return rdx;
}
int test(int *a) {
int rdx = 331;
for (long i = INT_MIN - 1; i < UINT_MAX; i++) {
if (a[i] > 3)
rdx = i;
}
return rdx;
}
The first two can theoretically be vectorized without a runtime-check,
while the third and fourth cannot. The fifth cannot be vectorized, even
with a runtime-check.
This issue was found while reviewing D150851.
Differential Revision: https://reviews.llvm.org/D156124
2023-08-30 13:09:37 +01:00
..
2023-08-29 11:42:18 +01:00
2023-05-17 17:03:15 +02:00
2023-08-29 11:42:18 +01:00
2023-08-22 20:20:58 +01:00
2023-08-14 17:04:11 -04:00
2023-08-29 11:42:18 +01:00
2023-06-12 14:49:45 +02:00
2023-05-17 17:03:15 +02:00
2023-08-29 11:42:18 +01:00
2023-05-17 17:03:15 +02: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-06-12 13:10:22 +02:00
2023-05-02 00:28:39 +08:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-08-29 11:42:18 +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
2023-05-10 11:26:23 -07:00
2023-08-29 11:42:18 +01:00
2023-01-11 14:08:06 +00:00
2023-01-04 17:25:42 +01:00
2023-08-29 11:42:18 +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-04-28 16:46:00 +02:00
2023-08-08 12:12:30 +01:00
2023-08-29 11:42:18 +01:00
2023-08-29 11:42:18 +01:00
2023-08-29 11:42:18 +01:00
2023-08-08 11:31:21 +01:00
2023-08-29 11:42:18 +01:00
2022-12-14 15:16:59 +01:00
2023-04-17 13:08:15 +01:00
2022-12-14 15:16:59 +01:00
2023-08-01 15:54:02 +01:00
2023-08-29 11:42:18 +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-08-01 11:53:47 +02: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
2023-08-08 11:31:21 +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-08-29 11:42:18 +01:00
2022-12-14 15:16:59 +01:00
2023-08-29 11:42:18 +01: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-06-12 13:10:22 +02:00
2023-08-29 11:42:18 +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-08-29 11:42:18 +01:00
2022-12-14 15:16:59 +01:00
2023-08-29 11:42:18 +01:00
2022-12-14 15:16:59 +01:00
2023-08-08 12:12:30 +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-08-08 18:10:23 -04:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-08-01 11:53:47 +02: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-05-17 17:50:00 +02:00
2022-12-14 15:16:59 +01:00
2023-08-29 11:42:18 +01:00
2023-06-12 13:10:22 +02:00
2023-07-19 20:17:36 -07:00
2023-08-30 13:09:37 +01:00
2023-08-29 11:42:18 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-08-29 11:42:18 +01:00
2023-08-29 11:42:18 +01:00
2023-04-09 09:18:24 +01:00
2023-01-06 12:14:45 +01:00
2023-05-17 17:50:00 +02: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-06-20 13:17:28 -04:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-06-12 13:10:22 +02: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-06-12 13:10:22 +02: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
2023-07-07 14:42:31 +02:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-04-26 09:43:54 +02:00
2023-01-04 17:25:42 +01:00
2022-12-14 15:16:59 +01:00
2023-07-12 14:35:55 +02: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-08-29 11:42:18 +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
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-08-29 11:42:18 +01:00
2023-08-29 11:42:18 +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-05-01 13:55:11 -07: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
2023-04-17 13:49:49 +01:00
2022-12-14 15:16:59 +01:00
2022-12-08 02:38:47 +03:00
2023-06-12 13:10:22 +02:00
2022-12-14 15:16:59 +01:00
2022-04-28 16:46:00 +02:00
2023-08-22 20:05:57 +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-08-29 11:42:18 +01:00
2022-04-28 16:46:00 +02:00
2023-08-29 11:42:18 +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
2023-08-29 11:42:18 +01:00
2022-12-14 15:16:59 +01:00
2023-08-29 11:42:18 +01:00
2023-01-11 14:08:06 +00:00
2023-03-07 17:10:34 +01:00
2023-08-29 11:42:18 +01:00
2023-08-29 11:42:18 +01:00
2023-04-06 09:38:47 +02:00
2022-12-14 15:16:59 +01:00
2023-02-15 14:07:51 -08: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-03-08 20:11:28 +01:00
2023-07-26 23:23:14 +01:00
2022-12-14 15:16:59 +01:00
2023-08-01 15:54:02 +01:00
2023-07-26 23:23:14 +01:00
2023-06-12 13:10:22 +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
2023-01-11 14:08:06 +00:00
2023-08-29 11:42:18 +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-08-29 11:42:18 +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-06-08 12:10:04 +01:00
2023-04-06 09:38:47 +02:00
2022-08-26 20:39:52 +01:00
2023-08-24 12:14:02 +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-08-01 15:54:02 +01:00
2023-02-09 09:42:29 +00:00
2023-06-12 14:31:54 +02:00
2023-02-09 09:42:29 +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-06-12 13:10:22 +02:00
2022-12-14 15:16:59 +01:00
2023-04-05 11:18:38 +01:00
2023-06-12 13:10:22 +02:00
2022-12-14 15:16:59 +01:00
2023-08-29 11:42:18 +01:00
2023-01-04 17:25:42 +01:00
2023-08-29 11:42:18 +01:00
2022-12-14 15:16:59 +01:00
2023-01-11 14:08:06 +00:00
2023-07-11 19:12:59 -07:00
2023-08-29 11:42:18 +01:00
2023-01-11 14:08:06 +00:00
2022-12-14 15:16:59 +01:00
2023-08-29 11:42:18 +01:00
2023-05-30 16:42:55 +01:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-08-03 00:37:19 -07:00
2022-12-14 15:16:59 +01:00
2022-12-14 15:16:59 +01:00
2023-08-29 11:42:18 +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
2023-08-29 11:42:18 +01:00
2022-12-14 15:16:59 +01:00
2023-08-29 11:42:18 +01:00
2023-08-29 11:42:18 +01:00
2023-08-29 11:42:18 +01:00
2023-08-29 11:42:18 +01:00
2023-08-29 11:42:18 +01:00
2023-06-12 13:10:22 +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-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-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-06-12 13:10:22 +02:00
2022-12-24 18:34:54 +00:00
2023-04-25 21:47:14 +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
2023-08-08 12:12:30 +01:00
2023-08-08 12:12:30 +01:00
2022-12-05 22:17:30 +03:00
2023-08-21 13:05:06 -04:00
2023-08-08 12:12:30 +01:00
2023-08-08 12:12:30 +01:00
2023-08-08 12:12:30 +01: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
2023-08-29 11:42:18 +01:00
2022-12-14 15:16:59 +01:00