Skip to content

Commit e338bc9

Browse files
author
Carolyn Zech
committed
update to 6/10
1 parent e3a7bec commit e338bc9

File tree

8 files changed

+6
-99
lines changed

8 files changed

+6
-99
lines changed

docs/src/rust-feature-support/intrinsics.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,6 @@ powf32 | Partial | Results are overapproximated |
187187
powf64 | Partial | Results are overapproximated |
188188
powif32 | Partial | Results are overapproximated |
189189
powif64 | Partial | Results are overapproximated |
190-
pref_align_of | Yes | |
191190
prefetch_read_data | No | |
192191
prefetch_read_instruction | No | |
193192
prefetch_write_data | No | |

kani-compiler/src/codegen_cprover_gotoc/codegen/intrinsic.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,6 @@ impl GotocCtx<'_> {
419419
Intrinsic::PowF64 => codegen_simple_intrinsic!(Pow),
420420
Intrinsic::PowIF32 => codegen_simple_intrinsic!(Powif),
421421
Intrinsic::PowIF64 => codegen_simple_intrinsic!(Powi),
422-
Intrinsic::PrefAlignOf => codegen_intrinsic_const!(),
423422
Intrinsic::PtrGuaranteedCmp => self.codegen_ptr_guaranteed_cmp(fargs, place, loc),
424423
Intrinsic::RawEq => self.codegen_intrinsic_raw_eq(instance, fargs, place, loc),
425424
Intrinsic::RetagBoxToRaw => self.codegen_retag_box_to_raw(fargs, place, loc),

kani-compiler/src/codegen_cprover_gotoc/compiler_interface.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use cbmc::{InternedString, MachineModel};
2020
use kani_metadata::artifact::convert_type;
2121
use kani_metadata::{ArtifactType, HarnessMetadata, KaniMetadata, UnsupportedFeature};
2222
use kani_metadata::{AssignsContract, CompilerArtifactStub};
23-
use rustc_abi::Endian;
23+
use rustc_abi::{Align, Endian};
2424
use rustc_codegen_ssa::back::archive::{
2525
ArArchiveBuilder, ArchiveBuilder, ArchiveBuilderBuilder, DEFAULT_OBJECT_READER,
2626
};
@@ -511,10 +511,11 @@ fn check_options(session: &Session) {
511511
// a valid CBMC machine model in function `machine_model_from_session` from
512512
// src/kani-compiler/src/codegen_cprover_gotoc/context/goto_ctx.rs
513513
match session.target.options.min_global_align {
514-
Some(1) => (),
514+
Some(Align::ONE) => (),
515515
Some(align) => {
516516
let err_msg = format!(
517-
"Kani requires the target architecture option `min_global_align` to be 1, but it is {align}."
517+
"Kani requires the target architecture option `min_global_align` to be 1, but it is {}.",
518+
align.bytes()
518519
);
519520
session.dcx().err(err_msg);
520521
}
@@ -705,7 +706,7 @@ fn new_machine_model(sess: &Session) -> MachineModel {
705706
// We check these options in function `check_options` from
706707
// src/kani-compiler/src/codegen_cprover_gotoc/compiler_interface.rs
707708
// and error if their values are not the ones we expect.
708-
let alignment = sess.target.options.min_global_align.unwrap_or(1);
709+
let alignment = sess.target.options.min_global_align.map_or(1, |align| align.bytes());
709710
let is_big_endian = match sess.target.options.endian {
710711
Endian::Little => false,
711712
Endian::Big => true,

kani-compiler/src/intrinsics.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ pub enum Intrinsic {
9191
PowF64,
9292
PowIF32,
9393
PowIF64,
94-
PrefAlignOf,
9594
PtrGuaranteedCmp,
9695
PtrOffsetFrom,
9796
PtrOffsetFromUnsigned,
@@ -330,10 +329,6 @@ impl Intrinsic {
330329
"offset" => unreachable!(
331330
"Expected `core::intrinsics::unreachable` to be handled by `BinOp::OffSet`"
332331
),
333-
"pref_align_of" => {
334-
assert_sig_matches!(sig, => RigidTy::Uint(UintTy::Usize));
335-
Self::PrefAlignOf
336-
}
337332
"ptr_guaranteed_cmp" => {
338333
assert_sig_matches!(sig, RigidTy::RawPtr(_, Mutability::Not), RigidTy::RawPtr(_, Mutability::Not) => RigidTy::Uint(UintTy::U8));
339334
Self::PtrGuaranteedCmp

kani-compiler/src/kani_middle/points_to/points_to_analysis.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,6 @@ fn is_identity_aliasing_intrinsic(intrinsic: Intrinsic) -> bool {
669669
| Intrinsic::PowF64
670670
| Intrinsic::PowIF32
671671
| Intrinsic::PowIF64
672-
| Intrinsic::PrefAlignOf
673672
| Intrinsic::PtrGuaranteedCmp
674673
| Intrinsic::PtrOffsetFrom
675674
| Intrinsic::PtrOffsetFromUnsigned

kani-compiler/src/kani_middle/transform/check_uninit/ptr_uninit/uninit_visitor.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,6 @@ fn can_skip_intrinsic(intrinsic: Intrinsic) -> bool {
629629
| Intrinsic::PowF64
630630
| Intrinsic::PowIF32
631631
| Intrinsic::PowIF64
632-
| Intrinsic::PrefAlignOf
633632
| Intrinsic::RawEq
634633
| Intrinsic::RotateLeft
635634
| Intrinsic::RotateRight

rust-toolchain.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
# SPDX-License-Identifier: Apache-2.0 OR MIT
33

44
[toolchain]
5-
channel = "nightly-2025-06-09"
5+
channel = "nightly-2025-06-10"
66
components = ["llvm-tools", "rustc-dev", "rust-src", "rustfmt"]

tests/kani/Intrinsics/ConstEval/pref_align_of.rs

Lines changed: 0 additions & 85 deletions
This file was deleted.

0 commit comments

Comments
 (0)