about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/mir/interpret/value.rs
AgeCommit message (Collapse)AuthorLines
2025-07-07compiler: Parse `p-` specs in datalayout string, allow definition of custom ↵Edoardo Marangoni-4/+4
default data address space
2025-06-29rename Pointer::from_addr_invalid to match strict provenance APIRalf Jung-1/+1
2025-06-29give Pointer::into_parts a more scary name and offer a safer alternativeRalf Jung-2/+2
2025-05-24ScalarInt: support conversion with signed int types and cmp::OrderingRalf Jung-5/+5
2024-11-03compiler: Directly use rustc_abi in metadata and middleJubilee Young-1/+1
Stop reexporting ReprOptions from middle::ty
2024-10-01make InterpResult a dedicated type to avoid accidentally discarding the errorRalf Jung-18/+20
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-1/+1
2024-09-08interpret: reset provenance on typed copiesRalf Jung-0/+7
2024-08-01interpret: simplify pointer arithmetic logicRalf Jung-1/+1
2024-07-29Reformat `use` declarations.Nicholas Nethercote-7/+3
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-06-14Enable const evaluation for `f16` and `f128`Trevor Gross-0/+14
This excludes casting, which needs more tests.
2024-06-10ScalarInt: size mismatches are a bug, do not delay the panicRalf Jung-24/+9
2024-06-08add missing Scalar::from_i128Ralf Jung-0/+5
2024-04-29Remove `extern crate rustc_data_structures` from numerous crates.Nicholas Nethercote-1/+1
2024-04-29Remove `extern crate rustc_macros` from `rustc_middle`.Nicholas Nethercote-1/+1
2024-04-19Auto merge of #124113 - RalfJung:interpret-scalar-ops, r=oli-obkbors-11/+13
interpret: use ScalarInt for bin-ops; avoid PartialOrd for ScalarInt Best reviewed commit-by-commit r? `@oli-obk`
2024-04-19ScalarInt: add methods to assert being a (u)int of given sizeRalf Jung-2/+2
2024-04-18interpret/binary_int_op: avoid dropping to raw ints until we determined the signRalf Jung-10/+12
2024-04-18Simplify `static_assert_size`s.Nicholas Nethercote-1/+1
We want to run them on all 64-bit platforms.
2024-04-03Check `x86_64` size assertions on `aarch64`, tooZalathar-1/+1
This makes it easier for contributors on aarch64 workstations (e.g. Macs) to notice when these assertions have been violated.
2024-03-14Add compiler support for parsing `f16` and `f128`Trevor Gross-1/+21
2024-01-26make matching on NaN a hard errorRalf Jung-2/+2
2023-12-07ctfe interpreter: extend provenance so that it can track whether a pointer ↵Ralf Jung-2/+8
is immutable
2023-09-20Auto merge of #115827 - eduardosm:miri-sse-reduce-code-dup, r=RalfJungbors-4/+18
miri: reduce code duplication in some SSE/SSE2 intrinsics Reduces code duplication in the Miri implementation of some SSE and SSE2 using generics and rustc_const_eval helper functions. There are also some other minor changes. r? `@RalfJung`
2023-09-19move ConstValue into mirRalf Jung-156/+2
this way we have mir::ConstValue and ty::ValTree as reasonably parallel
2023-09-16miri: reduce code duplication in SSE/SSE2 bin_op_* functionsEduardo Sánchez Muñoz-4/+8
2023-09-14fix clippy (and MIR printing) handling of ConstValue::Indirect slicesRalf Jung-1/+52
2023-09-14don't force all slice-typed ConstValue to be ConstValue::SliceRalf Jung-17/+6
2023-09-14cleanup op_to_const a bit; rename ConstValue::ByRef → IndirectRalf Jung-6/+8
2023-09-14use AllocId instead of Allocation in ConstValue::ByRefRalf Jung-3/+7
2023-09-13rustc_middle: add `Scalar::from_i8` and `Scalar::from_i16` and use them in MiriEduardo Sánchez Muñoz-0/+10
2023-08-02const validation: point at where we found a pointer but expected an integerRalf Jung-4/+5
2023-07-30inline format!() args up to and including rustc_middleMatthias Krüger-6/+6
2023-07-25add some sanity checks in write_immediate_no_validateRalf Jung-0/+8
2023-06-04Use 128 bits for TypeId hashThom Chiovoloni-0/+9
- Switch TypeId to 128 bits - Hack around the fact that tracing-subscriber dislikes how TypeId is hashed - Remove lowering of type_id128 from rustc_codegen_llvm - Remove unnecessary `type_id128` intrinsic (just change return type of `type_id`) - Only hash the lower 64 bits of the TypeId - Reword comment
2023-06-01Use translatable diagnostics in `rustc_const_eval`Deadbeef-1/+2
2023-02-15Use target instead of machine for mir interpreter integer handling.Oli Scherer-8/+8
The naming of `machine` only makes sense from a mir interpreter internals perspective, but outside users talk about the `target` platform
2023-02-14interpret: rename Pointer::from_addr → from_addr_invalidRalf Jung-1/+1
2022-12-10compiler: remove unnecessary imports and qualified pathsKaDiWa-1/+0
2022-11-28Rollup merge of #104933 - RalfJung:interpret-partial-ord, r=oli-obkMatthias Krüger-2/+2
interpret: remove PartialOrd from a bunch of types that do not have or need a sensible order r? `@oli-obk`
2022-11-27Prefer doc comments over `//`-comments in compilerMaybe Waffle-2/+2
2022-11-26interpret: remove PartialOrd from a bunch of types that do not have or need ↵Ralf Jung-2/+2
a sensible order
2022-11-18interpret: use Either over Result when it is not representing an error conditionRalf Jung-5/+7
2022-09-15derive various Lift impl instead of hand rolling themOli Scherer-18/+2
2022-08-27interpret: make read-pointer-as-bytes *always* work in MiriRalf Jung-1/+1
and show some extra information when it happens in CTFE
2022-08-27interpret: rename relocation → provenanceRalf Jung-3/+1
2022-08-26remove now-unused ScalarMaybeUninitRalf Jung-133/+0
2022-07-30avoid assertion failures in try_to_scalar_intRalf Jung-1/+3
2022-07-23now we can make scalar_to_ptr a method on ScalarRalf Jung-0/+18
2022-07-19interpret: rename Tag/PointerTag to Prov/ProvenanceRalf Jung-29/+30
Let's avoid using two different terms for the same thing -- let's just call it "provenance" everywhere. In Miri, provenance consists of an AllocId and an SbTag (Stacked Borrows tag), which made this even more confusing.