2020#[ no_mangle]
2121#[ naked]
2222fn naked_empty ( ) {
23- // CHECK: ret void
23+ // CHECK-NEXT: {{.+}}:
24+ // CHECK-NEXT: ret void
2425}
2526
2627// CHECK: Function Attrs: naked uwtable
2728#[ no_mangle]
2829#[ naked]
2930// CHECK-NEXT: define internal void @naked_with_args(i{{[0-9]+}})
3031fn naked_with_args ( a : isize ) {
31- // CHECK: %a = alloca i{{[0-9] +}}
32- // CHECK: ret void
32+ // CHECK-NEXT: {{. +}}:
33+ // CHECK-NEXT: %a = alloca i{{[0-9]+}}
3334 & a; // keep variable in an alloca
35+ // CHECK: ret void
3436}
3537
3638// CHECK: Function Attrs: naked uwtable
3739// CHECK-NEXT: define internal i{{[0-9]+}} @naked_with_return()
3840#[ no_mangle]
3941#[ naked]
4042fn naked_with_return ( ) -> isize {
41- // CHECK: ret i{{[0-9]+}} 0
43+ // CHECK-NEXT: {{.+}}:
44+ // CHECK-NEXT: ret i{{[0-9]+}} 0
4245 0
4346}
4447
@@ -47,9 +50,10 @@ fn naked_with_return() -> isize {
4750#[ no_mangle]
4851#[ naked]
4952fn naked_with_args_and_return ( a : isize ) -> isize {
50- // CHECK: %a = alloca i{{[0-9] +}}
51- // CHECK: ret i{{[0-9]+}} % {{[0-9]+}}
53+ // CHECK-NEXT: {{. +}}:
54+ // CHECK-NEXT: %a = alloca i {{[0-9]+}}
5255 & a; // keep variable in an alloca
56+ // CHECK: ret i{{[0-9]+}} %{{[0-9]+}}
5357 a
5458}
5559
@@ -58,14 +62,37 @@ fn naked_with_args_and_return(a: isize) -> isize {
5862#[ no_mangle]
5963#[ naked]
6064fn naked_recursive ( ) {
61- // CHECK: call void @naked_empty()
65+ // CHECK-NEXT: {{.+}}:
66+ // CHECK-NEXT: call void @naked_empty()
67+
68+ // FIXME(#39685) Avoid one block per call.
69+ // CHECK-NEXT: br label %bb1
70+ // CHECK: bb1:
71+
6272 naked_empty ( ) ;
63- // CHECK: %{{[0-9]+}} = call i{{[0-9]+}} @naked_with_return()
73+
74+ // CHECK-NEXT: %{{[0-9]+}} = call i{{[0-9]+}} @naked_with_return()
75+
76+ // FIXME(#39685) Avoid one block per call.
77+ // CHECK-NEXT: br label %bb2
78+ // CHECK: bb2:
79+
80+ // CHECK-NEXT: %{{[0-9]+}} = call i{{[0-9]+}} @naked_with_args_and_return(i{{[0-9]+}} %{{[0-9]+}})
81+
82+ // FIXME(#39685) Avoid one block per call.
83+ // CHECK-NEXT: br label %bb3
84+ // CHECK: bb3:
85+
86+ // CHECK-NEXT: call void @naked_with_args(i{{[0-9]+}} %{{[0-9]+}})
87+
88+ // FIXME(#39685) Avoid one block per call.
89+ // CHECK-NEXT: br label %bb4
90+ // CHECK: bb4:
91+
6492 naked_with_args (
65- // CHECK: %{{[0-9]+}} = call i{{[0-9]+}} @naked_with_args_and_return(i{{[0-9]+}} %{{[0-9]+}})
6693 naked_with_args_and_return (
67- // CHECK: call void @naked_with_args(i{{[0-9]+}} %{{[0-9]+}})
6894 naked_with_return ( )
6995 )
7096 ) ;
97+ // CHECK-NEXT: ret void
7198}
0 commit comments