Skip to content

Commit ccc17e3

Browse files
committed
fixup! use update_test_checks.py for opt tests
Created using spr 1.3.8-beta.1
1 parent c8c3dcf commit ccc17e3

File tree

8 files changed

+209
-92
lines changed

8 files changed

+209
-92
lines changed
Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
12
; RUN: opt < %s -passes=inferattrs,alloc-token -alloc-token-mode=increment -S | FileCheck %s
23

34
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
@@ -13,72 +14,86 @@ declare void @_ZdlPv(ptr)
1314
declare i32 @foobar(i64)
1415

1516
; Test basic allocation call rewriting
16-
; CHECK-LABEL: @test_basic_rewriting
1717
define ptr @test_basic_rewriting() sanitize_alloc_token {
18+
; CHECK-LABEL: define ptr @test_basic_rewriting(
19+
; CHECK-SAME: ) #[[ATTR5:[0-9]+]] {
20+
; CHECK-NEXT: [[ENTRY:.*:]]
21+
; CHECK-NEXT: [[TMP0:%.*]] = call ptr @__alloc_token_malloc(i64 64, i64 0)
22+
; CHECK-NEXT: [[TMP1:%.*]] = call ptr @__alloc_token_calloc(i64 8, i64 8, i64 1)
23+
; CHECK-NEXT: [[TMP2:%.*]] = call ptr @__alloc_token_realloc(ptr [[TMP0]], i64 128, i64 2)
24+
; CHECK-NEXT: ret ptr [[TMP2]]
25+
;
1826
entry:
19-
; CHECK: [[PTR1:%[0-9]]] = call ptr @__alloc_token_malloc(i64 64, i64 0)
20-
; CHECK: call ptr @__alloc_token_calloc(i64 8, i64 8, i64 1)
21-
; CHECK: call ptr @__alloc_token_realloc(ptr [[PTR1]], i64 128, i64 2)
22-
; CHECK-NOT: call ptr @malloc(
23-
; CHECK-NOT: call ptr @calloc(
24-
; CHECK-NOT: call ptr @realloc(
2527
%ptr1 = call ptr @malloc(i64 64)
2628
%ptr2 = call ptr @calloc(i64 8, i64 8)
2729
%ptr3 = call ptr @realloc(ptr %ptr1, i64 128)
2830
ret ptr %ptr3
2931
}
3032

3133
; Test C++ operator rewriting
32-
; CHECK-LABEL: @test_cpp_operators
3334
define ptr @test_cpp_operators() sanitize_alloc_token {
35+
; CHECK-LABEL: define ptr @test_cpp_operators(
36+
; CHECK-SAME: ) #[[ATTR5]] {
37+
; CHECK-NEXT: [[ENTRY:.*:]]
38+
; CHECK-NEXT: [[TMP0:%.*]] = call ptr @__alloc_token_Znwm(i64 32, i64 3)
39+
; CHECK-NEXT: [[TMP1:%.*]] = call ptr @__alloc_token_Znam(i64 64, i64 4)
40+
; CHECK-NEXT: ret ptr [[TMP0]]
41+
;
3442
entry:
35-
; CHECK: call ptr @__alloc_token_Znwm(i64 32, i64 3)
36-
; CHECK: call ptr @__alloc_token_Znam(i64 64, i64 4)
37-
; CHECK-NOT: call ptr @_Znwm(
38-
; CHECK-NOT: call ptr @_Znam(
3943
%ptr1 = call ptr @_Znwm(i64 32)
4044
%ptr2 = call ptr @_Znam(i64 64)
4145
ret ptr %ptr1
4246
}
4347

4448
; Functions without sanitize_alloc_token do not get instrumented
45-
; CHECK-LABEL: @without_attribute
4649
define ptr @without_attribute() {
50+
; CHECK-LABEL: define ptr @without_attribute() {
51+
; CHECK-NEXT: [[ENTRY:.*:]]
52+
; CHECK-NEXT: [[PTR:%.*]] = call ptr @malloc(i64 16)
53+
; CHECK-NEXT: ret ptr [[PTR]]
54+
;
4755
entry:
48-
; CHECK: call ptr @malloc(i64 16)
49-
; CHECK-NOT: call ptr @__alloc_token_malloc
5056
%ptr = call ptr @malloc(i64 16)
5157
ret ptr %ptr
5258
}
5359

5460
; Test that free/delete are untouched
55-
; CHECK-LABEL: @test_free_untouched
5661
define void @test_free_untouched(ptr %ptr) sanitize_alloc_token {
62+
; CHECK-LABEL: define void @test_free_untouched(
63+
; CHECK-SAME: ptr [[PTR:%.*]]) #[[ATTR5]] {
64+
; CHECK-NEXT: [[ENTRY:.*:]]
65+
; CHECK-NEXT: call void @free(ptr [[PTR]])
66+
; CHECK-NEXT: call void @_ZdlPv(ptr [[PTR]])
67+
; CHECK-NEXT: ret void
68+
;
5769
entry:
58-
; CHECK: call void @free(ptr %ptr)
59-
; CHECK: call void @_ZdlPv(ptr %ptr)
60-
; CHECK-NOT: call ptr @__alloc_token_
6170
call void @free(ptr %ptr)
6271
call void @_ZdlPv(ptr %ptr)
6372
ret void
6473
}
6574

6675
; Non-allocation functions are untouched
67-
; CHECK-LABEL: @no_allocations
6876
define i32 @no_allocations(i32 %x) sanitize_alloc_token {
77+
; CHECK-LABEL: define i32 @no_allocations(
78+
; CHECK-SAME: i32 [[X:%.*]]) #[[ATTR5]] {
79+
; CHECK-NEXT: [[ENTRY:.*:]]
80+
; CHECK-NEXT: [[RESULT:%.*]] = call i32 @foobar(i64 42)
81+
; CHECK-NEXT: ret i32 [[RESULT]]
82+
;
6983
entry:
70-
; CHECK: call i32 @foobar
71-
; CHECK-NOT: call i32 @__alloc_token_
7284
%result = call i32 @foobar(i64 42)
7385
ret i32 %result
7486
}
7587

7688
; Test that tail calls are preserved
77-
; CHECK-LABEL: @test_tail_call_preserved
7889
define ptr @test_tail_call_preserved() sanitize_alloc_token {
90+
; CHECK-LABEL: define ptr @test_tail_call_preserved(
91+
; CHECK-SAME: ) #[[ATTR5]] {
92+
; CHECK-NEXT: [[ENTRY:.*:]]
93+
; CHECK-NEXT: [[TMP0:%.*]] = tail call ptr @__alloc_token_malloc(i64 42, i64 5)
94+
; CHECK-NEXT: ret ptr [[TMP0]]
95+
;
7996
entry:
80-
; CHECK: tail call ptr @__alloc_token_malloc(i64 42, i64 5)
81-
; CHECK-NOT: tail call ptr @malloc(
8297
%result = tail call ptr @malloc(i64 42)
8398
ret ptr %result
8499
}
Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
12
; RUN: opt < %s -passes=inferattrs,alloc-token -alloc-token-mode=increment -S | FileCheck %s
23

34
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
@@ -6,20 +7,26 @@ target triple = "i386-pc-linux-gnu"
67
declare ptr @malloc(i32)
78
declare ptr @_Znwm(i32)
89

9-
; CHECK-LABEL: @test_basic_rewriting
1010
define ptr @test_basic_rewriting() sanitize_alloc_token {
11+
; CHECK-LABEL: define ptr @test_basic_rewriting(
12+
; CHECK-SAME: ) #[[ATTR2:[0-9]+]] {
13+
; CHECK-NEXT: [[ENTRY:.*:]]
14+
; CHECK-NEXT: [[TMP0:%.*]] = call ptr @__alloc_token_malloc(i32 64, i32 0)
15+
; CHECK-NEXT: ret ptr [[TMP0]]
16+
;
1117
entry:
12-
; CHECK: [[PTR1:%[0-9]]] = call ptr @__alloc_token_malloc(i32 64, i32 0)
13-
; CHECK-NOT: call ptr @malloc(
1418
%ptr1 = call ptr @malloc(i32 64)
1519
ret ptr %ptr1
1620
}
1721

18-
; CHECK-LABEL: @test_cpp_operators
1922
define ptr @test_cpp_operators() sanitize_alloc_token {
23+
; CHECK-LABEL: define ptr @test_cpp_operators(
24+
; CHECK-SAME: ) #[[ATTR2]] {
25+
; CHECK-NEXT: [[ENTRY:.*:]]
26+
; CHECK-NEXT: [[TMP0:%.*]] = call ptr @__alloc_token_Znwm(i32 32, i32 1)
27+
; CHECK-NEXT: ret ptr [[TMP0]]
28+
;
2029
entry:
21-
; CHECK: call ptr @__alloc_token_Znwm(i32 32, i32 1)
22-
; CHECK-NOT: call ptr @_Znwm(
2330
%ptr1 = call ptr @_Znwm(i32 32)
2431
ret ptr %ptr1
2532
}
Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
12
; Test for special libfuncs not automatically considered allocation functions.
23
;
34
; RUN: opt < %s -passes=inferattrs,alloc-token -S | FileCheck %s
@@ -7,10 +8,15 @@ target triple = "x86_64-unknown-linux-gnu"
78

89
declare {ptr, i64} @__size_returning_new(i64)
910

10-
; CHECK-LABEL: @test_extra_libfuncs
1111
define ptr @test_extra_libfuncs() sanitize_alloc_token {
12+
; CHECK-LABEL: define ptr @test_extra_libfuncs(
13+
; CHECK-SAME: ) #[[ATTR1:[0-9]+]] {
14+
; CHECK-NEXT: [[ENTRY:.*:]]
15+
; CHECK-NEXT: [[TMP0:%.*]] = call { ptr, i64 } @__alloc_token_size_returning_new(i64 10, i64 6985720287680550851), !alloc_token [[META0:![0-9]+]]
16+
; CHECK-NEXT: [[PTR1:%.*]] = extractvalue { ptr, i64 } [[TMP0]], 0
17+
; CHECK-NEXT: ret ptr [[PTR1]]
18+
;
1219
entry:
13-
; CHECK: call {{.*}} @__alloc_token_size_returning_new(
1420
%srn = call {ptr, i64} @__size_returning_new(i64 10), !alloc_token !0
1521
%ptr1 = extractvalue {ptr, i64} %srn, 0
1622
ret ptr %ptr1
@@ -19,14 +25,21 @@ entry:
1925
declare ptr @_Znwm(i64) nobuiltin allocsize(0)
2026
declare ptr @_Znam(i64) nobuiltin allocsize(0)
2127

22-
; CHECK-LABEL: @test_replaceable_new
2328
define ptr @test_replaceable_new() sanitize_alloc_token {
29+
; CHECK-LABEL: define ptr @test_replaceable_new(
30+
; CHECK-SAME: ) #[[ATTR1]] {
31+
; CHECK-NEXT: [[ENTRY:.*:]]
32+
; CHECK-NEXT: [[TMP0:%.*]] = call ptr @__alloc_token_Znwm(i64 32, i64 6985720287680550851), !alloc_token [[META0]]
33+
; CHECK-NEXT: [[TMP1:%.*]] = call ptr @__alloc_token_Znam(i64 64, i64 6985720287680550851), !alloc_token [[META0]]
34+
; CHECK-NEXT: ret ptr [[TMP0]]
35+
;
2436
entry:
25-
; CHECK: call ptr @__alloc_token_Znwm(
2637
%ptr1 = call ptr @_Znwm(i64 32), !alloc_token !0
27-
; CHECK: call ptr @__alloc_token_Znam(
2838
%ptr2 = call ptr @_Znam(i64 64), !alloc_token !0
2939
ret ptr %ptr1
3040
}
3141

3242
!0 = !{!"int"}
43+
;.
44+
; CHECK: [[META0]] = !{!"int"}
45+
;.

llvm/test/Instrumentation/AllocToken/fast.ll

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
12
; RUN: opt < %s -passes=inferattrs,alloc-token -alloc-token-mode=increment -alloc-token-fast-abi -alloc-token-max=3 -S | FileCheck %s
23

34
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
@@ -10,29 +11,32 @@ declare ptr @_Znwm(i64)
1011
declare ptr @_Znam(i64)
1112

1213
; Test basic allocation call rewriting
13-
; CHECK-LABEL: @test_basic_rewriting
1414
define ptr @test_basic_rewriting() sanitize_alloc_token {
15+
; CHECK-LABEL: define ptr @test_basic_rewriting(
16+
; CHECK-SAME: ) #[[ATTR4:[0-9]+]] {
17+
; CHECK-NEXT: [[ENTRY:.*:]]
18+
; CHECK-NEXT: [[PTR1:%.*]] = call ptr @__alloc_token_0_malloc(i64 64)
19+
; CHECK-NEXT: [[PTR2:%.*]] = call ptr @__alloc_token_1_calloc(i64 8, i64 8)
20+
; CHECK-NEXT: [[PTR3:%.*]] = call ptr @__alloc_token_2_realloc(ptr [[PTR1]], i64 128)
21+
; CHECK-NEXT: ret ptr [[PTR3]]
22+
;
1523
entry:
16-
; CHECK: [[PTR1:%ptr[0-9]]] = call ptr @__alloc_token_0_malloc(i64 64)
17-
; CHECK: call ptr @__alloc_token_1_calloc(i64 8, i64 8)
18-
; CHECK: call ptr @__alloc_token_2_realloc(ptr [[PTR1]], i64 128)
19-
; CHECK-NOT: call ptr @malloc(
20-
; CHECK-NOT: call ptr @calloc(
21-
; CHECK-NOT: call ptr @realloc(
2224
%ptr1 = call ptr @malloc(i64 64)
2325
%ptr2 = call ptr @calloc(i64 8, i64 8)
2426
%ptr3 = call ptr @realloc(ptr %ptr1, i64 128)
2527
ret ptr %ptr3
2628
}
2729

2830
; Test C++ operator rewriting
29-
; CHECK-LABEL: @test_cpp_operators
3031
define ptr @test_cpp_operators() sanitize_alloc_token {
32+
; CHECK-LABEL: define ptr @test_cpp_operators(
33+
; CHECK-SAME: ) #[[ATTR4]] {
34+
; CHECK-NEXT: [[ENTRY:.*:]]
35+
; CHECK-NEXT: [[PTR1:%.*]] = call ptr @__alloc_token_0_Znwm(i64 32)
36+
; CHECK-NEXT: [[PTR2:%.*]] = call ptr @__alloc_token_1_Znam(i64 64)
37+
; CHECK-NEXT: ret ptr [[PTR1]]
38+
;
3139
entry:
32-
; CHECK: call ptr @__alloc_token_0_Znwm(i64 32)
33-
; CHECK: call ptr @__alloc_token_1_Znam(i64 64)
34-
; CHECK-NOT: call ptr @_Znwm(
35-
; CHECK-NOT: call ptr @_Znam(
3640
%ptr1 = call ptr @_Znwm(i64 32)
3741
%ptr2 = call ptr @_Znam(i64 64)
3842
ret ptr %ptr1
Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
12
; Test for all allocation functions that should be ignored by default.
23
;
34
; RUN: opt < %s -passes=inferattrs,alloc-token -S | FileCheck %s
@@ -10,16 +11,20 @@ declare ptr @__strdup(ptr)
1011
declare ptr @strndup(ptr, i64)
1112
declare ptr @__strndup(ptr, i64)
1213

13-
; CHECK-LABEL: @test_ignorable_allocation_functions
1414
define ptr @test_ignorable_allocation_functions(ptr %ptr) sanitize_alloc_token {
15+
; CHECK-LABEL: define ptr @test_ignorable_allocation_functions(
16+
; CHECK-SAME: ptr [[PTR:%.*]]) #[[ATTR2:[0-9]+]] {
17+
; CHECK-NEXT: [[ENTRY:.*:]]
18+
; CHECK-NEXT: [[PTR1:%.*]] = call ptr @strdup(ptr [[PTR]])
19+
; CHECK-NEXT: [[PTR2:%.*]] = call ptr @__strdup(ptr [[PTR]])
20+
; CHECK-NEXT: [[PTR3:%.*]] = call ptr @strndup(ptr [[PTR]], i64 42)
21+
; CHECK-NEXT: [[PTR4:%.*]] = call ptr @__strndup(ptr [[PTR]], i64 42)
22+
; CHECK-NEXT: ret ptr [[PTR1]]
23+
;
1524
entry:
16-
; CHECK: call ptr @strdup(
1725
%ptr1 = call ptr @strdup(ptr %ptr)
18-
; CHECK: call ptr @__strdup(
1926
%ptr2 = call ptr @__strdup(ptr %ptr)
20-
; CHECK: call ptr @strndup(
2127
%ptr3 = call ptr @strndup(ptr %ptr, i64 42)
22-
; CHECK: call ptr @__strndup(
2328
%ptr4 = call ptr @__strndup(ptr %ptr, i64 42)
2429
ret ptr %ptr1
2530
}

0 commit comments

Comments
 (0)