@@ -21,9 +21,11 @@ fn r#ref(ref_foo: &Foo) -> i32 {
2121 // CHECK-LABEL: define {{.*}} i32 @ref
2222 // CHECK-SAME: (ptr {{.*}} [[ARG_ref_foo:%.*]])
2323 // 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()
2425 // CHECK: #dbg_value(ptr [[ARG_ref_foo]], [[VAR_ref_v0:![0-9]+]], !DIExpression()
2526 // CHECK: #dbg_value(ptr [[ARG_ref_foo]], [[VAR_ref_v1:![0-9]+]], !DIExpression(DW_OP_plus_uconst, 8, DW_OP_stack_value)
2627 // 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;
2729 let ref_v0 = & ref_foo. 0 ;
2830 let ref_v1 = & ref_foo. 1 ;
2931 let ref_v2 = & ref_foo. 2 ;
@@ -49,9 +51,11 @@ pub fn dead_first(dead_first_foo: &Foo) -> &i32 {
4951fn ptr ( ptr_foo : Foo ) -> i32 {
5052 // CHECK-LABEL: define {{.*}} i32 @ptr
5153 // CHECK-SAME: (ptr {{.*}} [[ARG_ptr_foo:%.*]])
54+ // CHECK: #dbg_value(ptr [[ARG_ptr_foo]], [[ref_ptr_foo:![0-9]+]], !DIExpression()
5255 // CHECK: #dbg_value(ptr [[ARG_ptr_foo]], [[VAR_ptr_v0:![0-9]+]], !DIExpression()
5356 // CHECK: #dbg_value(ptr [[ARG_ptr_foo]], [[VAR_ptr_v1:![0-9]+]], !DIExpression(DW_OP_plus_uconst, 8, DW_OP_stack_value)
5457 // 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;
5559 let ptr_v0 = & ptr_foo. 0 ;
5660 let ptr_v1 = & ptr_foo. 1 ;
5761 let ptr_v2 = & ptr_foo. 2 ;
@@ -99,10 +103,12 @@ pub fn tuple(foo: (i32, &Foo)) -> i32 {
99103 foo. 1 . 0
100104}
101105
106+ // CHECK-DAG: [[VAR_invalid_ref_of_ref_foo]] = !DILocalVariable(name: "invalid_ref_of_ref_foo"
102107// OPTIMIZED-DAG: [[VAR_ref_foo]] = !DILocalVariable(name: "ref_foo"
103108// CHECK-DAG: [[VAR_ref_v0]] = !DILocalVariable(name: "ref_v0"
104109// CHECK-DAG: [[VAR_ref_v1]] = !DILocalVariable(name: "ref_v1"
105110// CHECK-DAG: [[VAR_ref_v2]] = !DILocalVariable(name: "ref_v2"
111+ // CHECK-DAG: [[ref_ptr_foo]] = !DILocalVariable(name: "ref_ptr_foo"
106112// CHECK-DAG: [[VAR_ptr_v0]] = !DILocalVariable(name: "ptr_v0"
107113// CHECK-DAG: [[VAR_ptr_v1]] = !DILocalVariable(name: "ptr_v1"
108114// CHECK-DAG: [[VAR_ptr_v2]] = !DILocalVariable(name: "ptr_v2"
0 commit comments