1
1
; RUN: opt < %s -passes=inline -inline-threshold=100 -S | FileCheck %s
2
- ; RUN: opt < %s -mtriple=aarch64-windows-msvc -passes=inline -inline-threshold=100 -S | FileCheck %s
2
+ ; RUN: opt < %s -passes='cgscc(inline)' -inline-threshold=100 -S | FileCheck %s
3
+ ; RUN: opt < %s -mtriple=aarch64-windows-msvc -passes=inline -inline-threshold=100 -S | FileCheck %s -check-prefix=MSVC
4
+ ; RUN: opt < %s -mtriple=aarch64-windows-msvc -passes='cgscc(inline)' -inline-threshold=100 -S | FileCheck %s -check-prefix=MSVC
3
5
4
6
define i32 @nosection_callee (i32 %x ) {
5
7
%x1 = add i32 %x , 1
@@ -50,6 +52,19 @@ define i32 @nosection_caller(i32 %y1) {
50
52
ret i32 %y6
51
53
}
52
54
55
+ ; CHECK-LABEL: @nosection_caller
56
+ ; CHECK-NOT: @nosection_callee
57
+ ; CHECK-NOT: @section_callee
58
+ ; CHECK-NOT: @sectionpostfix_callee
59
+ ; CHECK-NOT: @paged_callee
60
+ ; CHECK-NOT: @pagedpostfix_callee
61
+ ; MSVC-LABEL: @nosection_caller
62
+ ; MSVC-NOT: @nosection_callee
63
+ ; MSVC-NOT: @section_callee
64
+ ; MSVC-NOT: @sectionpostfix_callee
65
+ ; MSVC: @paged_callee
66
+ ; MSVC: @pagedpostfix_callee
67
+
53
68
define i32 @section_caller (i32 %y1 ) section "FOO" {
54
69
%y2 = call i32 @nosection_callee (i32 %y1 )
55
70
%y3 = call i32 @section_callee (i32 %y2 )
@@ -59,6 +74,19 @@ define i32 @section_caller(i32 %y1) section "FOO" {
59
74
ret i32 %y6
60
75
}
61
76
77
+ ; CHECK-LABEL: @section_caller
78
+ ; CHECK-NOT: @nosection_callee
79
+ ; CHECK-NOT: @section_callee
80
+ ; CHECK-NOT: @sectionpostfix_callee
81
+ ; CHECK-NOT: @paged_callee
82
+ ; CHECK-NOT: @pagedpostfix_callee
83
+ ; MSVC-LABEL: @section_caller
84
+ ; MSVC-NOT: @nosection_callee
85
+ ; MSVC-NOT: @section_callee
86
+ ; MSVC-NOT: @sectionpostfix_callee
87
+ ; MSVC: @paged_callee
88
+ ; MSVC: @pagedpostfix_callee
89
+
62
90
define i32 @sectionpostfix_caller (i32 %y1 ) section "FOO$ZZZ" {
63
91
%y2 = call i32 @nosection_callee (i32 %y1 )
64
92
%y3 = call i32 @section_callee (i32 %y2 )
@@ -68,6 +96,19 @@ define i32 @sectionpostfix_caller(i32 %y1) section "FOO$ZZZ" {
68
96
ret i32 %y6
69
97
}
70
98
99
+ ; CHECK-LABEL: @sectionpostfix_caller
100
+ ; CHECK-NOT: @nosection_callee
101
+ ; CHECK-NOT: @section_callee
102
+ ; CHECK-NOT: @sectionpostfix_callee
103
+ ; CHECK-NOT: @paged_callee
104
+ ; CHECK-NOT: @pagedpostfix_callee
105
+ ; MSVC-LABEL: @sectionpostfix_caller
106
+ ; MSVC-NOT: @nosection_callee
107
+ ; MSVC-NOT: @section_callee
108
+ ; MSVC-NOT: @sectionpostfix_callee
109
+ ; MSVC: @paged_callee
110
+ ; MSVC: @pagedpostfix_callee
111
+
71
112
define i32 @paged_caller (i32 %y1 ) section "PAGE" {
72
113
%y2 = call i32 @nosection_callee (i32 %y1 )
73
114
%y3 = call i32 @section_callee (i32 %y2 )
@@ -77,6 +118,19 @@ define i32 @paged_caller(i32 %y1) section "PAGE" {
77
118
ret i32 %y6
78
119
}
79
120
121
+ ; CHECK-LABEL: @paged_caller
122
+ ; CHECK-NOT: @nosection_callee
123
+ ; CHECK-NOT: @section_callee
124
+ ; CHECK-NOT: @sectionpostfix_callee
125
+ ; CHECK-NOT: @paged_callee
126
+ ; CHECK-NOT: @pagedpostfix_callee
127
+ ; MSVC-LABEL: @paged_caller
128
+ ; MSVC: @nosection_callee
129
+ ; MSVC: @section_callee
130
+ ; MSVC: @sectionpostfix_callee
131
+ ; MSVC-NOT: @paged_callee
132
+ ; MSVC-NOT: @pagedpostfix_callee
133
+
80
134
define i32 @pagedpostfix_caller (i32 %y1 ) section "PAGE$ZZZ" {
81
135
%y2 = call i32 @nosection_callee (i32 %y1 )
82
136
%y3 = call i32 @section_callee (i32 %y2 )
@@ -86,7 +140,18 @@ define i32 @pagedpostfix_caller(i32 %y1) section "PAGE$ZZZ" {
86
140
ret i32 %y6
87
141
}
88
142
143
+ ; CHECK-LABEL: @pagedpostfix_caller
144
+ ; CHECK-NOT: @nosection_callee
145
+ ; CHECK-NOT: @section_callee
146
+ ; CHECK-NOT: @sectionpostfix_callee
147
+ ; CHECK-NOT: @paged_callee
148
+ ; CHECK-NOT: @pagedpostfix_callee
149
+ ; MSVC-LABEL: @pagedpostfix_caller
150
+ ; MSVC: @nosection_callee
151
+ ; MSVC: @section_callee
152
+ ; MSVC: @sectionpostfix_callee
153
+ ; MSVC-NOT: @paged_callee
154
+ ; MSVC-NOT: @pagedpostfix_callee
89
155
90
156
declare void @extern ()
91
157
92
- ; CHECK-LABEL: @paged_callee
0 commit comments