Skip to content

Commit 01699c1

Browse files
committed
prefer CHECK{SIW|SIO} to CHECK
1 parent f00e6a3 commit 01699c1

File tree

1 file changed

+36
-36
lines changed

1 file changed

+36
-36
lines changed

clang/test/CodeGen/integer-wrap.c

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,75 @@
11
// Check that -fsanitize=signed-integer-wrap instruments with -fwrapv
2-
// RUN: %clang_cc1 -fwrapv -triple x86_64-apple-darwin -emit-llvm -o - %s -fsanitize=signed-integer-wrap | FileCheck %s --check-prefix=CHECK
2+
// RUN: %clang_cc1 -fwrapv -triple x86_64-apple-darwin -emit-llvm -o - %s -fsanitize=signed-integer-wrap | FileCheck %s --check-prefix=CHECKSIW
33

44
// Check that -fsanitize=signed-integer-overflow doesn't instrument with -fwrapv
55
// RUN: %clang_cc1 -fwrapv -triple x86_64-apple-darwin -emit-llvm -o - %s -fsanitize=signed-integer-overflow | FileCheck %s --check-prefix=CHECKSIO
66

77
extern volatile int a, b, c;
88

9-
// CHECK-LABEL: define void @test_add_overflow
9+
// CHECKSIW-LABEL: define void @test_add_overflow
1010
void test_add_overflow(void) {
11-
// CHECK: [[ADD0:%.*]] = load {{.*}} i32
12-
// CHECK-NEXT: [[ADD1:%.*]] = load {{.*}} i32
13-
// CHECK-NEXT: [[ADD2:%.*]] = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 [[ADD0]], i32 [[ADD1]])
14-
// CHECK: [[ADD4:%.*]] = extractvalue { i32, i1 } [[ADD2]], 1
15-
// CHECK-NEXT: [[ADD5:%.*]] = xor i1 [[ADD4]], true
16-
// CHECK-NEXT: br i1 [[ADD5]], {{.*}} %handler.add_overflow
17-
// CHECK: call void @__ubsan_handle_add_overflow
11+
// CHECKSIW: [[ADD0:%.*]] = load {{.*}} i32
12+
// CHECKSIW-NEXT: [[ADD1:%.*]] = load {{.*}} i32
13+
// CHECKSIW-NEXT: [[ADD2:%.*]] = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 [[ADD0]], i32 [[ADD1]])
14+
// CHECKSIW: [[ADD4:%.*]] = extractvalue { i32, i1 } [[ADD2]], 1
15+
// CHECKSIW-NEXT: [[ADD5:%.*]] = xor i1 [[ADD4]], true
16+
// CHECKSIW-NEXT: br i1 [[ADD5]], {{.*}} %handler.add_overflow
17+
// CHECKSIW: call void @__ubsan_handle_add_overflow
1818

1919
// CHECKSIO-NOT: call void @__ubsan_handle_add_overflow
2020
a = b + c;
2121
}
2222

23-
// CHECK-LABEL: define void @test_inc_overflow
23+
// CHECKSIW-LABEL: define void @test_inc_overflow
2424
void test_inc_overflow(void) {
2525
// This decays and gets handled by __ubsan_handle_add_overflow...
26-
// CHECK: [[INC0:%.*]] = load {{.*}} i32
27-
// CHECK-NEXT: [[INC1:%.*]] = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 [[INC0]], i32 1)
28-
// CHECK: [[INC3:%.*]] = extractvalue { i32, i1 } [[INC1]], 1
29-
// CHECK-NEXT: [[INC4:%.*]] = xor i1 [[INC3]], true
30-
// CHECK-NEXT: br i1 [[INC4]], {{.*}} %handler.add_overflow
31-
// CHECK: call void @__ubsan_handle_add_overflow
26+
// CHECKSIW: [[INC0:%.*]] = load {{.*}} i32
27+
// CHECKSIW-NEXT: [[INC1:%.*]] = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 [[INC0]], i32 1)
28+
// CHECKSIW: [[INC3:%.*]] = extractvalue { i32, i1 } [[INC1]], 1
29+
// CHECKSIW-NEXT: [[INC4:%.*]] = xor i1 [[INC3]], true
30+
// CHECKSIW-NEXT: br i1 [[INC4]], {{.*}} %handler.add_overflow
31+
// CHECKSIW: call void @__ubsan_handle_add_overflow
3232

3333
// CHECKSIO-NOT: call void @__ubsan_handle_add_overflow
3434
a++;
3535
}
3636

37-
// CHECK-LABEL: define void @test_sub_overflow
37+
// CHECKSIW-LABEL: define void @test_sub_overflow
3838
void test_sub_overflow(void) {
39-
// CHECK: [[SUB0:%.*]] = load {{.*}} i32
40-
// CHECK-NEXT: [[SUB1:%.*]] = load {{.*}} i32
41-
// CHECK-NEXT: [[SUB2:%.*]] = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 [[SUB0]], i32 [[SUB1]])
42-
// CHECK: [[SUB4:%.*]] = extractvalue { i32, i1 } [[SUB2]], 1
43-
// CHECK-NEXT: [[SUB5:%.*]] = xor i1 [[SUB4]], true
39+
// CHECKSIW: [[SUB0:%.*]] = load {{.*}} i32
40+
// CHECKSIW-NEXT: [[SUB1:%.*]] = load {{.*}} i32
41+
// CHECKSIW-NEXT: [[SUB2:%.*]] = call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 [[SUB0]], i32 [[SUB1]])
42+
// CHECKSIW: [[SUB4:%.*]] = extractvalue { i32, i1 } [[SUB2]], 1
43+
// CHECKSIW-NEXT: [[SUB5:%.*]] = xor i1 [[SUB4]], true
4444
// CHECK-NEXT br i1 [[SUB5]], {{.*}} %handler.sub_overflow
45-
// CHECK: call void @__ubsan_handle_sub_overflow
45+
// CHECKSIW: call void @__ubsan_handle_sub_overflow
4646

4747
// CHECKSIO-NOT: call void @__ubsan_handle_sub_overflow
4848
a = b - c;
4949
}
5050

51-
// CHECK-LABEL: define void @test_mul_overflow
51+
// CHECKSIW-LABEL: define void @test_mul_overflow
5252
void test_mul_overflow(void) {
53-
// CHECK: [[MUL0:%.*]] = load {{.*}} i32
54-
// CHECK-NEXT: [[MUL1:%.*]] = load {{.*}} i32
55-
// CHECK-NEXT: [[MUL2:%.*]] = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 [[MUL0]], i32 [[MUL1]])
56-
// CHECK: [[MUL4:%.*]] = extractvalue { i32, i1 } [[MUL2]], 1
53+
// CHECKSIW: [[MUL0:%.*]] = load {{.*}} i32
54+
// CHECKSIW-NEXT: [[MUL1:%.*]] = load {{.*}} i32
55+
// CHECKSIW-NEXT: [[MUL2:%.*]] = call { i32, i1 } @llvm.smul.with.overflow.i32(i32 [[MUL0]], i32 [[MUL1]])
56+
// CHECKSIW: [[MUL4:%.*]] = extractvalue { i32, i1 } [[MUL2]], 1
5757
// CHECK-NEXT [[MUL5:%.*]] = xor i1 [[MUL4]], true
5858
// CHECK-NEXT br i1 [[MUL5]], {{.*}} %handler.mul_overflow
59-
// CHECK: call void @__ubsan_handle_mul_overflow
59+
// CHECKSIW: call void @__ubsan_handle_mul_overflow
6060

6161
// CHECKSIO-NOT: call void @__ubsan_handle_mul_overflow
6262
a = b * c;
6363
}
6464

65-
// CHECK-LABEL: define void @test_div_overflow
65+
// CHECKSIW-LABEL: define void @test_div_overflow
6666
void test_div_overflow(void) {
67-
// CHECK: [[DIV0:%.*]] = load {{.*}} i32
68-
// CHECK-NEXT: [[DIV1:%.*]] = load {{.*}} i32
69-
// CHECK-NEXT: [[DIV2:%.*]] = icmp ne i32 [[DIV0]], -2147483648
70-
// CHECK-NEXT: [[DIV3:%.*]] = icmp ne i32 [[DIV1]], -1
71-
// CHECK-NEXT: [[DIVOR:%or]] = or i1 [[DIV2]], [[DIV3]]
72-
// CHECK-NEXT: br {{.*}} %handler.divrem_overflow
67+
// CHECKSIW: [[DIV0:%.*]] = load {{.*}} i32
68+
// CHECKSIW-NEXT: [[DIV1:%.*]] = load {{.*}} i32
69+
// CHECKSIW-NEXT: [[DIV2:%.*]] = icmp ne i32 [[DIV0]], -2147483648
70+
// CHECKSIW-NEXT: [[DIV3:%.*]] = icmp ne i32 [[DIV1]], -1
71+
// CHECKSIW-NEXT: [[DIVOR:%or]] = or i1 [[DIV2]], [[DIV3]]
72+
// CHECKSIW-NEXT: br {{.*}} %handler.divrem_overflow
7373

7474
// -fsanitize=signed-integer-overflow still instruments division even with -fwrapv
7575
// CHECKSIO: br {{.*}} %handler.divrem_overflow

0 commit comments

Comments
 (0)