Skip to content

Commit 11019be

Browse files
authored
[test][sancov] Regenerate with update_test_checks (#89457)
Prepare for #89458
1 parent f09f99e commit 11019be

File tree

2 files changed

+90
-31
lines changed

2 files changed

+90
-31
lines changed
Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,37 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals all --version 4
12
; Test -sanitizer-coverage-inline-bool-flag=1
23
; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=1 -sanitizer-coverage-inline-bool-flag=1 -S | FileCheck %s
34

4-
; CHECK: $foo = comdat nodeduplicate
5-
; CHECK: @__sancov_gen_ = private global [1 x i1] zeroinitializer, section "__sancov_bools", comdat($foo), align 1{{$}}
6-
; CHECK: @__start___sancov_bools = extern_weak hidden global i1
7-
; CHECK-NEXT: @__stop___sancov_bools = extern_weak hidden global i1
8-
; CHECK: @llvm.used = appending global [1 x ptr] [ptr @sancov.module_ctor_bool_flag], section "llvm.metadata"
9-
; CHECK: @llvm.compiler.used = appending global [1 x ptr] [ptr @__sancov_gen_], section "llvm.metadata"
105

116
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
127
target triple = "x86_64-unknown-linux-gnu"
8+
;.
9+
; CHECK: @__sancov_lowest_stack = external thread_local(initialexec) global i64
10+
; CHECK: @__sancov_gen_ = private global [1 x i1] zeroinitializer, section "__sancov_bools", comdat($foo), align 1
11+
; CHECK: @__start___sancov_bools = extern_weak hidden global i1
12+
; CHECK: @__stop___sancov_bools = extern_weak hidden global i1
13+
; CHECK: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 2, ptr @sancov.module_ctor_bool_flag, ptr @sancov.module_ctor_bool_flag }]
14+
; CHECK: @llvm.used = appending global [1 x ptr] [ptr @sancov.module_ctor_bool_flag], section "llvm.metadata"
15+
; CHECK: @llvm.compiler.used = appending global [1 x ptr] [ptr @__sancov_gen_], section "llvm.metadata"
16+
;.
1317
define void @foo() {
14-
; CHECK-LABEL: @foo(
18+
; CHECK-LABEL: define void @foo() comdat {
1519
; CHECK-NEXT: entry:
16-
; CHECK-NEXT: [[TMP0:%.*]] = load i1, ptr @__sancov_gen_, align 1, !nosanitize ![[#EMPTY:]]
20+
; CHECK-NEXT: [[TMP0:%.*]] = load i1, ptr @__sancov_gen_, align 1, !nosanitize [[META0:![0-9]+]]
1721
; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i1 [[TMP0]], false
1822
; CHECK-NEXT: br i1 [[TMP1]], label [[TMP2:%.*]], label [[TMP3:%.*]]
1923
; CHECK: 2:
20-
; CHECK-NEXT: store i1 true, ptr @__sancov_gen_, align 1, !nosanitize ![[#EMPTY:]]
24+
; CHECK-NEXT: store i1 true, ptr @__sancov_gen_, align 1, !nosanitize [[META0]]
2125
; CHECK-NEXT: br label [[TMP3]]
2226
; CHECK: 3:
2327
; CHECK-NEXT: ret void
2428
;
2529
entry:
2630
ret void
2731
}
28-
; CHECK: call void @__sanitizer_cov_bool_flag_init(ptr @__start___sancov_bools, ptr @__stop___sancov_bools)
2932

30-
; CHECK: ![[#EMPTY]] = !{}
33+
;.
34+
; CHECK: attributes #[[ATTR0:[0-9]+]] = { nounwind }
35+
;.
36+
; CHECK: [[META0]] = !{}
37+
;.
Lines changed: 72 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,95 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals all --version 4
12
; This check verifies that stack depth instrumentation works correctly.
2-
; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=1 \
3-
; RUN: -sanitizer-coverage-stack-depth -S | FileCheck %s
4-
; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=3 \
5-
; RUN: -sanitizer-coverage-stack-depth -sanitizer-coverage-trace-pc-guard \
6-
; RUN: -S | FileCheck %s
3+
; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=1 -sanitizer-coverage-stack-depth -S | FileCheck %s --check-prefixes=L1
4+
; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=3 -sanitizer-coverage-stack-depth -S -sanitizer-coverage-trace-pc-guard | FileCheck %s --check-prefixes=L3
75

86
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
97
target triple = "x86_64-unknown-linux-gnu"
108

11-
; CHECK: @__sancov_lowest_stack = thread_local(initialexec) global i64 -1
129
@__sancov_lowest_stack = thread_local global i64 0, align 8
1310

11+
;.
12+
; L1: @__sancov_lowest_stack = thread_local(initialexec) global i64 -1, align 8
13+
;.
14+
; L3: @__sancov_lowest_stack = thread_local(initialexec) global i64 -1, align 8
15+
; L3: @__sancov_gen_ = private global [1 x i32] zeroinitializer, section "__sancov_guards", comdat($foo), align 4
16+
; L3: @__sancov_gen_.1 = private global [1 x i32] zeroinitializer, section "__sancov_guards", comdat($bar), align 4
17+
; L3: @__sancov_gen_.2 = private global [1 x i32] zeroinitializer, section "__sancov_guards", comdat($_ZTW21__sancov_lowest_stack), align 4
18+
; L3: @__start___sancov_guards = extern_weak hidden global i32
19+
; L3: @__stop___sancov_guards = extern_weak hidden global i32
20+
; L3: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 2, ptr @sancov.module_ctor_trace_pc_guard, ptr @sancov.module_ctor_trace_pc_guard }]
21+
; L3: @llvm.used = appending global [1 x ptr] [ptr @sancov.module_ctor_trace_pc_guard], section "llvm.metadata"
22+
; L3: @llvm.compiler.used = appending global [3 x ptr] [ptr @__sancov_gen_, ptr @__sancov_gen_.1, ptr @__sancov_gen_.2], section "llvm.metadata"
23+
;.
1424
define i32 @foo() {
25+
; L1-LABEL: define i32 @foo() {
26+
; L1-NEXT: entry:
27+
; L1-NEXT: ret i32 7
28+
;
29+
; L3-LABEL: define i32 @foo() comdat {
30+
; L3-NEXT: entry:
31+
; L3-NEXT: call void @__sanitizer_cov_trace_pc_guard(ptr @__sancov_gen_) #[[ATTR2:[0-9]+]]
32+
; L3-NEXT: ret i32 7
33+
;
1534
entry:
16-
; CHECK-LABEL: define i32 @foo
17-
; CHECK-NOT: call ptr @llvm.frameaddress.p0(i32 0)
18-
; CHECK-NOT: @__sancov_lowest_stack
19-
; CHECK: ret i32 7
2035

2136
ret i32 7
2237
}
2338

2439
define i32 @bar() {
40+
; L1-LABEL: define i32 @bar() {
41+
; L1-NEXT: entry:
42+
; L1-NEXT: [[TMP0:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
43+
; L1-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[TMP0]] to i64
44+
; L1-NEXT: [[TMP2:%.*]] = load i64, ptr @__sancov_lowest_stack, align 8, !nosanitize [[META0:![0-9]+]]
45+
; L1-NEXT: [[TMP3:%.*]] = icmp ult i64 [[TMP1]], [[TMP2]]
46+
; L1-NEXT: br i1 [[TMP3]], label [[TMP4:%.*]], label [[TMP5:%.*]]
47+
; L1: 4:
48+
; L1-NEXT: store i64 [[TMP1]], ptr @__sancov_lowest_stack, align 8, !nosanitize [[META0]]
49+
; L1-NEXT: br label [[TMP5]]
50+
; L1: 5:
51+
; L1-NEXT: [[CALL:%.*]] = call i32 @foo()
52+
; L1-NEXT: ret i32 [[CALL]]
53+
;
54+
; L3-LABEL: define i32 @bar() comdat {
55+
; L3-NEXT: entry:
56+
; L3-NEXT: call void @__sanitizer_cov_trace_pc_guard(ptr @__sancov_gen_.1) #[[ATTR2]]
57+
; L3-NEXT: [[TMP0:%.*]] = call ptr @llvm.frameaddress.p0(i32 0)
58+
; L3-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[TMP0]] to i64
59+
; L3-NEXT: [[TMP2:%.*]] = load i64, ptr @__sancov_lowest_stack, align 8, !nosanitize [[META0:![0-9]+]]
60+
; L3-NEXT: [[TMP3:%.*]] = icmp ult i64 [[TMP1]], [[TMP2]]
61+
; L3-NEXT: br i1 [[TMP3]], label [[TMP4:%.*]], label [[TMP5:%.*]]
62+
; L3: 4:
63+
; L3-NEXT: store i64 [[TMP1]], ptr @__sancov_lowest_stack, align 8, !nosanitize [[META0]]
64+
; L3-NEXT: br label [[TMP5]]
65+
; L3: 5:
66+
; L3-NEXT: [[CALL:%.*]] = call i32 @foo()
67+
; L3-NEXT: ret i32 [[CALL]]
68+
;
2569
entry:
26-
; CHECK-LABEL: define i32 @bar
27-
; CHECK: [[framePtr:%[^ \t]+]] = call ptr @llvm.frameaddress.p0(i32 0)
28-
; CHECK: [[frameInt:%[^ \t]+]] = ptrtoint ptr [[framePtr]] to [[intType:i[0-9]+]]
29-
; CHECK: [[lowest:%[^ \t]+]] = load [[intType]], ptr @__sancov_lowest_stack
30-
; CHECK: [[cmp:%[^ \t]+]] = icmp ult [[intType]] [[frameInt]], [[lowest]]
31-
; CHECK: br i1 [[cmp]], label %[[ifLabel:[^ \t]+]], label
32-
; CHECK: [[ifLabel]]:
33-
; CHECK: store [[intType]] [[frameInt]], ptr @__sancov_lowest_stack
34-
; CHECK: %call = call i32 @foo()
35-
; CHECK: ret i32 %call
3670

3771
%call = call i32 @foo()
3872
ret i32 %call
3973
}
4074

4175
define weak_odr hidden ptr @_ZTW21__sancov_lowest_stack() {
76+
; L1-LABEL: define weak_odr hidden ptr @_ZTW21__sancov_lowest_stack() {
77+
; L1-NEXT: ret ptr @__sancov_lowest_stack
78+
;
79+
; L3-LABEL: define weak_odr hidden ptr @_ZTW21__sancov_lowest_stack() comdat {
80+
; L3-NEXT: call void @__sanitizer_cov_trace_pc_guard(ptr @__sancov_gen_.2) #[[ATTR2]]
81+
; L3-NEXT: ret ptr @__sancov_lowest_stack
82+
;
4283
ret ptr @__sancov_lowest_stack
4384
}
85+
;.
86+
; L1: attributes #[[ATTR0:[0-9]+]] = { nocallback nofree nosync nounwind willreturn memory(none) }
87+
;.
88+
; L3: attributes #[[ATTR0:[0-9]+]] = { nocallback nofree nosync nounwind willreturn memory(none) }
89+
; L3: attributes #[[ATTR1:[0-9]+]] = { nounwind }
90+
; L3: attributes #[[ATTR2]] = { nomerge }
91+
;.
92+
; L1: [[META0]] = !{}
93+
;.
94+
; L3: [[META0]] = !{}
95+
;.

0 commit comments

Comments
 (0)