Skip to content

Commit 96a99a5

Browse files
committed
[NFC][UBSAN] Regenerate a test
1 parent ca55ee8 commit 96a99a5

File tree

1 file changed

+30
-8
lines changed

1 file changed

+30
-8
lines changed

clang/test/CodeGen/remote-traps.c

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,37 @@
1-
// RUN: %clang_cc1 -O1 -emit-llvm -fsanitize=signed-integer-overflow -fsanitize-trap=signed-integer-overflow %s -o - | FileCheck %s
1+
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 4
2+
// RUN: %clang_cc1 -O1 -emit-llvm -fsanitize=signed-integer-overflow -fsanitize-trap=signed-integer-overflow %s -o - | FileCheck %s
23
// RUN: %clang_cc1 -O1 -emit-llvm -fsanitize=signed-integer-overflow -fsanitize-trap=signed-integer-overflow -mllvm -remove-traps-random-rate=1 %s -o - | FileCheck %s --implicit-check-not="call void @llvm.ubsantrap" --check-prefixes=REMOVE
34

5+
// CHECK-LABEL: define dso_local noundef i32 @test(
6+
// CHECK-SAME: i32 noundef [[X:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {
7+
// CHECK-NEXT: entry:
8+
// CHECK-NEXT: [[TMP0:%.*]] = tail call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 [[X]], i32 123), !nosanitize [[META2:![0-9]+]]
9+
// CHECK-NEXT: [[TMP1:%.*]] = extractvalue { i32, i1 } [[TMP0]], 1, !nosanitize [[META2]]
10+
// CHECK-NEXT: br i1 [[TMP1]], label [[TRAP:%.*]], label [[CONT:%.*]], !nosanitize [[META2]]
11+
// CHECK: trap:
12+
// CHECK-NEXT: tail call void @llvm.ubsantrap(i8 0) #[[ATTR3:[0-9]+]], !nosanitize [[META2]]
13+
// CHECK-NEXT: unreachable, !nosanitize [[META2]]
14+
// CHECK: cont:
15+
// CHECK-NEXT: [[TMP2:%.*]] = extractvalue { i32, i1 } [[TMP0]], 0, !nosanitize [[META2]]
16+
// CHECK-NEXT: ret i32 [[TMP2]]
17+
//
18+
// REMOVE-LABEL: define dso_local noundef i32 @test(
19+
// REMOVE-SAME: i32 noundef [[X:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {
20+
// REMOVE-NEXT: entry:
21+
// REMOVE-NEXT: [[TMP0:%.*]] = tail call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 [[X]], i32 123), !nosanitize [[META2:![0-9]+]]
22+
// REMOVE-NEXT: [[TMP1:%.*]] = extractvalue { i32, i1 } [[TMP0]], 1, !nosanitize [[META2]]
23+
// REMOVE-NEXT: [[TMP2:%.*]] = xor i1 [[TMP1]], true
24+
// REMOVE-NEXT: tail call void @llvm.assume(i1 [[TMP2]])
25+
// REMOVE-NEXT: [[TMP3:%.*]] = extractvalue { i32, i1 } [[TMP0]], 0, !nosanitize [[META2]]
26+
// REMOVE-NEXT: ret i32 [[TMP3]]
27+
//
428
int test(int x) {
529
return x + 123;
630
}
731

8-
// CHECK-LABEL: define {{.*}}i32 @test(
9-
// CHECK: call { i32, i1 } @llvm.sadd.with.overflow.i32(
10-
// CHECK: trap:
11-
// CHECK-NEXT: call void @llvm.ubsantrap(i8 0)
12-
// CHECK-NEXT: unreachable
1332

14-
// REMOVE-LABEL: define {{.*}}i32 @test(
15-
// REMOVE: call { i32, i1 } @llvm.sadd.with.overflow.i32(
33+
//.
34+
// CHECK: [[META2]] = !{}
35+
//.
36+
// REMOVE: [[META2]] = !{}
37+
//.

0 commit comments

Comments
 (0)