diff options
| author | bors <bors@rust-lang.org> | 2022-05-29 14:12:42 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-05-29 14:12:42 +0000 |
| commit | 9d1aeaeb827da7a10b7cfaccf0a1d6ebf414a7b5 (patch) | |
| tree | 29ff4633cbd3297d37ddd756a6402fe929ea6721 /src/test/codegen/align-struct.rs | |
| parent | abc7681a76c7aa5adef896b85c3894047a4492d4 (diff) | |
| parent | 1ff051a9c53511473a12a37fe772e8c5f3e3e32b (diff) | |
| download | rust-9d1aeaeb827da7a10b7cfaccf0a1d6ebf414a7b5.tar.gz rust-9d1aeaeb827da7a10b7cfaccf0a1d6ebf414a7b5.zip | |
Auto merge of #94214 - nikic:rust-opaque-pointers, r=cuviper
Prepare Rust for opaque pointers Fix one codegen bug with opaque pointers, and update our IR tests to accept both typed pointer and opaque pointer IR. This is a bit annoying, but unavoidable if we want decent test coverage on both LLVM 14 and LLVM 15. This prepares Rust for when LLVM will enable opaque pointers by default.
Diffstat (limited to 'src/test/codegen/align-struct.rs')
| -rw-r--r-- | src/test/codegen/align-struct.rs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/test/codegen/align-struct.rs b/src/test/codegen/align-struct.rs index f129f073e98..a2f47354b2b 100644 --- a/src/test/codegen/align-struct.rs +++ b/src/test/codegen/align-struct.rs @@ -32,7 +32,7 @@ pub enum Enum64 { #[no_mangle] pub fn align64(i : i32) -> Align64 { // CHECK: %a64 = alloca %Align64, align 64 -// CHECK: call void @llvm.memcpy.{{.*}}(i8* align 64 %{{.*}}, i8* align 64 %{{.*}}, i{{[0-9]+}} 64, i1 false) +// CHECK: call void @llvm.memcpy.{{.*}}({{i8\*|ptr}} align 64 %{{.*}}, {{i8\*|ptr}} align 64 %{{.*}}, i{{[0-9]+}} 64, i1 false) let a64 = Align64(i); a64 } @@ -42,8 +42,7 @@ pub fn align64(i : i32) -> Align64 { // CHECK-LABEL: @align64_load #[no_mangle] pub fn align64_load(a: Align64) -> i32 { -// CHECK: [[FIELD:%.*]] = bitcast %Align64* %{{.*}} to i32* -// CHECK: {{%.*}} = load i32, i32* [[FIELD]], align 64 +// CHECK: {{%.*}} = load i32, {{i32\*|ptr}} {{%.*}}, align 64 a.0 } |
