1 // Copyright 2023 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
5 // DO NOT EDIT (use 'go test -v -update-expected' instead.)
6 // See cmd/compile/internal/inline/inlheur/testdata/props/README.txt
7 // for more information on the format of this file.
13 // calls.go T_call_in_panic_arg 19 0 1
15 // {"Flags":0,"ParamFlags":[0],"ResultFlags":[]}
16 // callsite: calls.go:21:15|0 flagstr "CallSiteOnPanicPath" flagval 2 score 42 mask 1 maskstr "panicPathAdj"
19 func T_call_in_panic_arg(x int) {
25 // calls.go T_calls_in_loops 32 0 1
27 // {"Flags":0,"ParamFlags":[0,0],"ResultFlags":[]}
28 // callsite: calls.go:34:9|0 flagstr "CallSiteInLoop" flagval 1 score -3 mask 4 maskstr "inLoopAdj"
29 // callsite: calls.go:37:9|1 flagstr "CallSiteInLoop" flagval 1 score -3 mask 4 maskstr "inLoopAdj"
32 func T_calls_in_loops(x int, q []string) {
33 for i := 0; i < x; i++ {
41 // calls.go T_calls_in_pseudo_loop 48 0 1
43 // {"Flags":0,"ParamFlags":[0,0],"ResultFlags":[]}
44 // callsite: calls.go:50:9|0 flagstr "" flagval 0 score 2 mask 0 maskstr ""
45 // callsite: calls.go:54:9|1 flagstr "" flagval 0 score 2 mask 0 maskstr ""
48 func T_calls_in_pseudo_loop(x int, q []string) {
49 for i := 0; i < x; i++ {
59 // calls.go T_calls_on_panic_paths 67 0 1
61 // {"Flags":0,"ParamFlags":[0,0],"ResultFlags":[]}
62 // callsite: calls.go:69:9|0 flagstr "CallSiteOnPanicPath" flagval 2 score 42 mask 1 maskstr "panicPathAdj"
63 // callsite: calls.go:73:9|1 flagstr "CallSiteOnPanicPath" flagval 2 score 42 mask 1 maskstr "panicPathAdj"
64 // callsite: calls.go:77:12|2 flagstr "CallSiteOnPanicPath" flagval 2 score 102 mask 1 maskstr "panicPathAdj"
67 func T_calls_on_panic_paths(x int, q []string) {
81 // calls.go T_calls_not_on_panic_paths 93 0 1
83 // 0 ParamFeedsIfOrSwitch|ParamMayFeedIfOrSwitch
86 // {"Flags":0,"ParamFlags":[96,0],"ResultFlags":[]}
87 // callsite: calls.go:103:9|0 flagstr "" flagval 0 score 2 mask 0 maskstr ""
88 // callsite: calls.go:112:9|1 flagstr "" flagval 0 score 2 mask 0 maskstr ""
89 // callsite: calls.go:115:9|2 flagstr "" flagval 0 score 2 mask 0 maskstr ""
90 // callsite: calls.go:119:12|3 flagstr "CallSiteOnPanicPath" flagval 2 score 102 mask 1 maskstr "panicPathAdj"
93 func T_calls_not_on_panic_paths(x int, q []string) {
97 /* - we only look for post-dominating panic/exit, so */
98 /* this site will on fact not have a panicpath flag */
99 /* - vet will complain about this site as unreachable */
123 // calls.go init.0 129 0 1
125 // {"Flags":0,"ParamFlags":[],"ResultFlags":[]}
126 // callsite: calls.go:130:16|0 flagstr "CallSiteInInitFunc" flagval 4 score 22 mask 2 maskstr "initFuncAdj"
133 // calls.go T_pass_inlinable_func_to_param_feeding_indirect_call 139 0 1
135 // {"Flags":0,"ParamFlags":[0],"ResultFlags":[0]}
136 // callsite: calls.go:140:19|0 flagstr "" flagval 0 score 16 mask 512 maskstr "passInlinableFuncToIndCallAdj"
139 func T_pass_inlinable_func_to_param_feeding_indirect_call(x int) int {
140 return callsParam(x, callee)
143 // calls.go T_pass_noninlinable_func_to_param_feeding_indirect_call 149 0 1
145 // {"Flags":0,"ParamFlags":[0],"ResultFlags":[0]}
146 // callsite: calls.go:152:19|0 flagstr "" flagval 0 score 36 mask 128 maskstr "passFuncToIndCallAdj"
149 func T_pass_noninlinable_func_to_param_feeding_indirect_call(x int) int {
150 // if we inline callsParam we can convert the indirect call
151 // to a direct call, but we can't inline it.
152 return callsParam(x, calleeNoInline)
155 // calls.go T_pass_inlinable_func_to_param_feeding_nested_indirect_call 163 0 1
157 // 0 ParamFeedsIfOrSwitch
159 // {"Flags":0,"ParamFlags":[32],"ResultFlags":[0]}
160 // callsite: calls.go:164:25|0 flagstr "" flagval 0 score 27 mask 1024 maskstr "passInlinableFuncToNestedIndCallAdj"
163 func T_pass_inlinable_func_to_param_feeding_nested_indirect_call(x int) int {
164 return callsParamNested(x, callee)
167 // calls.go T_pass_noninlinable_func_to_param_feeding_nested_indirect_call 175 0 1
169 // 0 ParamFeedsIfOrSwitch
171 // {"Flags":0,"ParamFlags":[32],"ResultFlags":[0]}
172 // callsite: calls.go:176:25|0 flagstr "" flagval 0 score 47 mask 256 maskstr "passFuncToNestedIndCallAdj"
175 func T_pass_noninlinable_func_to_param_feeding_nested_indirect_call(x int) int {
176 return callsParamNested(x, calleeNoInline)
181 func callee(x int) int {
185 func calleeNoInline(x int) int {
186 defer func() { G++ }()
190 func callsexit(x int) {
195 func callsParam(x int, f func(int) int) int {
199 func callsParamNested(x int, f func(int) int) int {