Auto merge of #124830 - aeubanks:dbg, r=durin42
Adjust dbg.value/dbg.declare checks for LLVM update https://github.com/llvm/llvm-project/pull/89799 changes llvm.dbg.value/declare intrinsics to be in a different, out-of-instruction-line representation. For example call void `@llvm.dbg.declare(...)` becomes #dbg_declare(...) Update tests accordingly to work with both the old and new way.
This commit is contained in:
commit
5ae5d13537
@ -13,6 +13,6 @@ pub fn main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CHECK: %compare.dbg.spill = alloca [0 x i8], align 1
|
// CHECK: %compare.dbg.spill = alloca [0 x i8], align 1
|
||||||
// CHECK: call void @llvm.dbg.declare(metadata ptr %compare.dbg.spill, metadata ![[VAR:.*]], metadata !DIExpression()), !dbg !{{.*}}
|
// CHECK: dbg{{.}}declare({{(metadata )?}}ptr %compare.dbg.spill, {{(metadata )?}}![[VAR:.*]], {{(metadata )?}}!DIExpression()
|
||||||
// CHECK: ![[TYPE:.*]] = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&i32, &i32) -> core::cmp::Ordering", baseType: !{{.*}}, align: 1, dwarfAddressSpace: {{.*}})
|
// CHECK: ![[TYPE:.*]] = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&i32, &i32) -> core::cmp::Ordering", baseType: !{{.*}}, align: 1, dwarfAddressSpace: {{.*}})
|
||||||
// CHECK: ![[VAR]] = !DILocalVariable(name: "compare", scope: !{{.*}}, file: !{{.*}}, line: {{.*}}, type: ![[TYPE]], align: 1)
|
// CHECK: ![[VAR]] = !DILocalVariable(name: "compare", scope: !{{.*}}, file: !{{.*}}, line: {{.*}}, type: ![[TYPE]], align: 1)
|
||||||
|
@ -18,8 +18,8 @@ fn foo(x: i32) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CHECK-LABEL: @check_it
|
// CHECK-LABEL: @check_it
|
||||||
// CHECK: call void @llvm.dbg.value(metadata i32 1, metadata ![[a_metadata:[0-9]+]], metadata !DIExpression())
|
// CHECK: dbg{{.}}value({{(metadata )?}}i32 1, {{(metadata )?}}![[a_metadata:[0-9]+]], {{(metadata )?}}!DIExpression()
|
||||||
// CHECK: call void @llvm.dbg.value(metadata i32 42, metadata ![[b_metadata:[0-9]+]], metadata !DIExpression())
|
// CHECK: dbg{{.}}value({{(metadata )?}}i32 42, {{(metadata )?}}![[b_metadata:[0-9]+]], {{(metadata )?}}!DIExpression()
|
||||||
|
|
||||||
// CHECK: ![[a_metadata]] = !DILocalVariable(name: "a"
|
// CHECK: ![[a_metadata]] = !DILocalVariable(name: "a"
|
||||||
// CHECK-SAME: line: 9
|
// CHECK-SAME: line: 9
|
||||||
|
@ -9,7 +9,7 @@ pub extern "C" fn callee(x: u32) -> u32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CHECK-LABEL: caller
|
// CHECK-LABEL: caller
|
||||||
// CHECK: call void @llvm.dbg.value(metadata i32 %y, metadata !{{.*}}, metadata !DIExpression(DW_OP_constu, 3, DW_OP_minus, DW_OP_stack_value)), !dbg [[A:!.*]]
|
// CHECK: dbg{{.}}value({{(metadata )?}}i32 %y, {{(metadata )?}}!{{.*}}, {{(metadata )?}}!DIExpression(DW_OP_constu, 3, DW_OP_minus, DW_OP_stack_value){{.*}} [[A:![0-9]+]]
|
||||||
// CHECK: [[A]] = !DILocation(line: {{.*}}, scope: {{.*}}, inlinedAt: {{.*}})
|
// CHECK: [[A]] = !DILocation(line: {{.*}}, scope: {{.*}}, inlinedAt: {{.*}})
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub extern "C" fn caller(y: u32) -> u32 {
|
pub extern "C" fn caller(y: u32) -> u32 {
|
||||||
|
@ -17,9 +17,9 @@ pub fn extra(s: &[u8]) {
|
|||||||
// CHECK: %slice.dbg.spill1 = alloca [4 x i8],
|
// CHECK: %slice.dbg.spill1 = alloca [4 x i8],
|
||||||
// CHECK: %slice.dbg.spill = alloca [16 x i8],
|
// CHECK: %slice.dbg.spill = alloca [16 x i8],
|
||||||
// CHECK: %s.dbg.spill = alloca [16 x i8],
|
// CHECK: %s.dbg.spill = alloca [16 x i8],
|
||||||
// CHECK: call void @llvm.dbg.declare(metadata ptr %s.dbg.spill, metadata ![[S_EXTRA:.*]], metadata !DIExpression()),
|
// CHECK: dbg{{.}}declare({{(metadata )?}}ptr %s.dbg.spill, {{(metadata )?}}![[S_EXTRA:.*]], {{(metadata )?}}!DIExpression()
|
||||||
// CHECK: call void @llvm.dbg.declare(metadata ptr %slice.dbg.spill, metadata ![[SLICE_EXTRA:.*]], metadata !DIExpression(DW_OP_LLVM_fragment, 0, 128)),
|
// CHECK: dbg{{.}}declare({{(metadata )?}}ptr %slice.dbg.spill, {{(metadata )?}}![[SLICE_EXTRA:.*]], {{(metadata )?}}!DIExpression(DW_OP_LLVM_fragment, 0, 128)
|
||||||
// CHECK: call void @llvm.dbg.declare(metadata ptr %slice.dbg.spill1, metadata ![[SLICE_EXTRA]], metadata !DIExpression(DW_OP_LLVM_fragment, 128, 32)),
|
// CHECK: dbg{{.}}declare({{(metadata )?}}ptr %slice.dbg.spill1, {{(metadata )?}}![[SLICE_EXTRA]], {{(metadata )?}}!DIExpression(DW_OP_LLVM_fragment, 128, 32)
|
||||||
let slice = ExtraSlice { slice: s, extra: s.len() as u32 };
|
let slice = ExtraSlice { slice: s, extra: s.len() as u32 };
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,9 +36,9 @@ pub fn zst(s: &[u8]) {
|
|||||||
// variable, so is not a fragment. In that case, the variable must have no fragment.
|
// variable, so is not a fragment. In that case, the variable must have no fragment.
|
||||||
|
|
||||||
// CHECK: void @zst(
|
// CHECK: void @zst(
|
||||||
// CHECK-NOT: call void @llvm.dbg.declare(metadata ptr %slice.dbg.spill, metadata !{}, metadata !DIExpression(DW_OP_LLVM_fragment,
|
// CHECK-NOT: dbg{{.}}declare({{(metadata )?}}ptr %slice.dbg.spill, {{(metadata )?}}!{}, {{(metadata )?}}!DIExpression(DW_OP_LLVM_fragment,
|
||||||
// CHECK: call void @llvm.dbg.declare(metadata ptr %{{.*}}, metadata ![[SLICE_ZST:.*]], metadata !DIExpression()),
|
// CHECK: dbg{{.}}declare({{(metadata )?}}ptr %{{.*}}, {{(metadata )?}}![[SLICE_ZST:.*]], {{(metadata )?}}!DIExpression()
|
||||||
// CHECK-NOT: call void @llvm.dbg.declare(metadata ptr %{{.*}}, metadata ![[SLICE_ZST]],
|
// CHECK-NOT: dbg{{.}}declare({{(metadata )?}}ptr %{{.*}}, {{(metadata )?}}![[SLICE_ZST]],
|
||||||
let slice = ZstSlice { slice: s, extra: Zst };
|
let slice = ZstSlice { slice: s, extra: Zst };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user