@@ -21,9 +21,11 @@ fn r#ref(ref_foo: &Foo) -> i32 {
21
21
// CHECK-LABEL: define {{.*}} i32 @ref
22
22
// CHECK-SAME: (ptr {{.*}} [[ARG_ref_foo:%.*]])
23
23
// OPTIMIZED: #dbg_value(ptr [[ARG_ref_foo]], [[VAR_ref_foo:![0-9]+]], !DIExpression()
24
+ // CHECK: #dbg_value(ptr poison, [[VAR_invalid_ref_of_ref_foo:![0-9]+]], !DIExpression()
24
25
// CHECK: #dbg_value(ptr [[ARG_ref_foo]], [[VAR_ref_v0:![0-9]+]], !DIExpression()
25
26
// CHECK: #dbg_value(ptr [[ARG_ref_foo]], [[VAR_ref_v1:![0-9]+]], !DIExpression(DW_OP_plus_uconst, 8, DW_OP_stack_value)
26
27
// CHECK: #dbg_value(ptr [[ARG_ref_foo]], [[VAR_ref_v2:![0-9]+]], !DIExpression(DW_OP_plus_uconst, 16, DW_OP_stack_value)
28
+ let invalid_ref_of_ref_foo = & ref_foo;
27
29
let ref_v0 = & ref_foo. 0 ;
28
30
let ref_v1 = & ref_foo. 1 ;
29
31
let ref_v2 = & ref_foo. 2 ;
@@ -49,9 +51,11 @@ pub fn dead_first(dead_first_foo: &Foo) -> &i32 {
49
51
fn ptr ( ptr_foo : Foo ) -> i32 {
50
52
// CHECK-LABEL: define {{.*}} i32 @ptr
51
53
// CHECK-SAME: (ptr {{.*}} [[ARG_ptr_foo:%.*]])
54
+ // CHECK: #dbg_value(ptr [[ARG_ptr_foo]], [[ref_ptr_foo:![0-9]+]], !DIExpression()
52
55
// CHECK: #dbg_value(ptr [[ARG_ptr_foo]], [[VAR_ptr_v0:![0-9]+]], !DIExpression()
53
56
// CHECK: #dbg_value(ptr [[ARG_ptr_foo]], [[VAR_ptr_v1:![0-9]+]], !DIExpression(DW_OP_plus_uconst, 8, DW_OP_stack_value)
54
57
// CHECK: #dbg_value(ptr [[ARG_ptr_foo]], [[VAR_ptr_v2:![0-9]+]], !DIExpression(DW_OP_plus_uconst, 16, DW_OP_stack_value)
58
+ let ref_ptr_foo = & ptr_foo;
55
59
let ptr_v0 = & ptr_foo. 0 ;
56
60
let ptr_v1 = & ptr_foo. 1 ;
57
61
let ptr_v2 = & ptr_foo. 2 ;
@@ -99,10 +103,12 @@ pub fn tuple(foo: (i32, &Foo)) -> i32 {
99
103
foo. 1 . 0
100
104
}
101
105
106
+ // CHECK-DAG: [[VAR_invalid_ref_of_ref_foo]] = !DILocalVariable(name: "invalid_ref_of_ref_foo"
102
107
// OPTIMIZED-DAG: [[VAR_ref_foo]] = !DILocalVariable(name: "ref_foo"
103
108
// CHECK-DAG: [[VAR_ref_v0]] = !DILocalVariable(name: "ref_v0"
104
109
// CHECK-DAG: [[VAR_ref_v1]] = !DILocalVariable(name: "ref_v1"
105
110
// CHECK-DAG: [[VAR_ref_v2]] = !DILocalVariable(name: "ref_v2"
111
+ // CHECK-DAG: [[ref_ptr_foo]] = !DILocalVariable(name: "ref_ptr_foo"
106
112
// CHECK-DAG: [[VAR_ptr_v0]] = !DILocalVariable(name: "ptr_v0"
107
113
// CHECK-DAG: [[VAR_ptr_v1]] = !DILocalVariable(name: "ptr_v1"
108
114
// CHECK-DAG: [[VAR_ptr_v2]] = !DILocalVariable(name: "ptr_v2"
0 commit comments