diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-07-21 14:34:12 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-07-22 14:28:48 +0200 |
| commit | a27f3e3fd1e4d16160f8885b6b06665b5319f56c (patch) | |
| tree | b033935392cbadf6f85d2dbddf433a88e323aeeb /tests/codegen/sroa-fragment-debuginfo.rs | |
| parent | ed93c1783b404d728d4809973a0550eb33cd293f (diff) | |
| download | rust-a27f3e3fd1e4d16160f8885b6b06665b5319f56c.tar.gz rust-a27f3e3fd1e4d16160f8885b6b06665b5319f56c.zip | |
Rename `tests/codegen` into `tests/codegen-llvm`
Diffstat (limited to 'tests/codegen/sroa-fragment-debuginfo.rs')
| -rw-r--r-- | tests/codegen/sroa-fragment-debuginfo.rs | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/tests/codegen/sroa-fragment-debuginfo.rs b/tests/codegen/sroa-fragment-debuginfo.rs deleted file mode 100644 index 0413cf96894..00000000000 --- a/tests/codegen/sroa-fragment-debuginfo.rs +++ /dev/null @@ -1,46 +0,0 @@ -//@ compile-flags: -g -Zmir-opt-level=0 -Zmir-enable-passes=+ScalarReplacementOfAggregates -//@ compile-flags: -Cno-prepopulate-passes -// -// Tested offsets are only correct for x86_64. -//@ only-x86_64 - -#![crate_type = "lib"] - -pub struct ExtraSlice<'input> { - slice: &'input [u8], - extra: u32, -} - -#[no_mangle] -pub fn extra(s: &[u8]) { - // CHECK: void @extra( - // CHECK: %slice.dbg.spill1 = alloca [4 x i8], - // CHECK: %slice.dbg.spill = alloca [16 x i8], - // CHECK: %s.dbg.spill = alloca [16 x i8], - // CHECK: dbg{{.}}declare({{(metadata )?}}ptr %s.dbg.spill, {{(metadata )?}}![[S_EXTRA:.*]], {{(metadata )?}}!DIExpression() - // CHECK: 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.spill1, {{(metadata )?}}![[SLICE_EXTRA]], {{(metadata )?}}!DIExpression(DW_OP_LLVM_fragment, 128, 32) - let slice = ExtraSlice { slice: s, extra: s.len() as u32 }; -} - -struct Zst; - -pub struct ZstSlice<'input> { - slice: &'input [u8], - extra: Zst, -} - -#[no_mangle] -pub fn zst(s: &[u8]) { - // The field `extra` is a ZST. The fragment for the field `slice` encompasses the whole - // variable, so is not a fragment. In that case, the variable must have no fragment. - - // CHECK: void @zst( - // CHECK-NOT: dbg{{.}}declare({{(metadata )?}}ptr %slice.dbg.spill, {{(metadata )?}}!{}, {{(metadata )?}}!DIExpression(DW_OP_LLVM_fragment, - // CHECK: dbg{{.}}declare({{(metadata )?}}ptr %{{.*}}, {{(metadata )?}}![[SLICE_ZST:.*]], {{(metadata )?}}!DIExpression() - // CHECK-NOT: dbg{{.}}declare({{(metadata )?}}ptr %{{.*}}, {{(metadata )?}}![[SLICE_ZST]], - let slice = ZstSlice { slice: s, extra: Zst }; -} - -// CHECK: ![[S_EXTRA]] = !DILocalVariable(name: "s", -// CHECK: ![[SLICE_EXTRA]] = !DILocalVariable(name: "slice", |
