about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/mir/interpret
AgeCommit message (Collapse)AuthorLines
2023-06-26Make simd_shuffle_indices use valtreesOli Scherer-17/+9
2023-06-14add InlineConst checkJames Dietz-1/+4
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-01improve debug message by eagerly translatingDeadbeef-13/+1
2023-06-01Use translatable diagnostics in `rustc_const_eval`Deadbeef-265/+254
2023-05-31Remove const eval limit and implement an exponential backoff lint insteadOli Scherer-7/+0
2023-05-17Finish move of query.rsJohn Kåre Alsaker-2/+4
2023-05-15Suppress "erroneous constant used" for constants tainted by errorsTomasz Miąsko-10/+44
When constant evaluation fails because its MIR is tainted by errors, suppress note indicating that erroneous constant was used, since those errors have to be fixed regardless of the constant being used or not.
2023-05-04Rollup merge of #110943 - RalfJung:interpret-unsized-arg-ice, r=oli-obkDylan DPC-0/+4
interpret: fail more gracefully on uninit unsized locals r? `@oli-obk` Fixes https://github.com/rust-lang/rust/issues/68538
2023-04-28interpret: fail more gracefully on uninit unsized localsRalf Jung-0/+4
2023-04-26Remove QueryEngine traitJohn Kåre Alsaker-1/+3
2023-04-20Remove WithOptconstParam.Camille GILLOT-8/+8
2023-04-18Rollup merge of #110417 - jsoref:spelling-compiler, r=NilstriebGuillaume Gomez-1/+1
Spelling compiler This is per https://github.com/rust-lang/rust/pull/110392#issuecomment-1510193656 I'm going to delay performing a squash because I really don't expect people to be perfectly happy w/ my changes, I really am a human and I really do make mistakes. r? Nilstrieb I'm going to be flying this evening, but I should be able to squash / respond to reviews w/in a day or two. I tried to be careful about dropping changes to `tests`, afaict only two files had changes that were likely related to the changes for a given commit (this is where not having eagerly squashed should have given me an advantage), but, that said, picking things apart can be error prone.
2023-04-17Spelling - compilerJosh Soref-1/+1
* account * achieved * advising * always * ambiguous * analysis * annotations * appropriate * build * candidates * cascading * category * character * clarification * compound * conceptually * constituent * consts * convenience * corresponds * debruijn * debug * debugable * debuggable * deterministic * discriminant * display * documentation * doesn't * ellipsis * erroneous * evaluability * evaluate * evaluation * explicitly * fallible * fulfill * getting * has * highlighting * illustrative * imported * incompatible * infringing * initialized * into * intrinsic * introduced * javascript * liveness * metadata * monomorphization * nonexistent * nontrivial * obligation * obligations * offset * opaque * opportunities * opt-in * outlive * overlapping * paragraph * parentheses * poisson * precisely * predecessors * predicates * preexisting * propagated * really * reentrant * referent * responsibility * rustonomicon * shortcircuit * simplifiable * simplifications * specify * stabilized * structurally * suggestibility * translatable * transmuting * two * unclosed * uninhabited * visibility * volatile * workaround Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-17Bypass the varint path when encoding InitMaskBen Kimock-1/+31
2023-04-10Fix typos in compilerDaniPopes-2/+2
2023-04-09fixup! Improve `Allocation::hashNilstrieb-1/+1
2023-04-09Improve `Allocation::hashNilstrieb-9/+17
Exhaustively destructure and ignore `()`
2023-04-04Remove a fishy Clone implOli Scherer-1/+2
2023-03-28address review commentsRémy Rakic-6/+8
Move tests and limit the init mask's structures/fields visibility.
2023-03-27readability tweaksRémy Rakic-22/+22
2023-03-27add more InitMask test coverageRémy Rakic-0/+175
2023-03-27make InitMask lazy for fully init/uninit casesRémy Rakic-58/+225
Avoid materializing bits in the InitMask bitset when a single value would be enough: when the mask represents a fully initialized or fully uninitialized const allocation.
2023-03-02Rollup merge of #108022 - CraftSpider:align-bytes, r=oli-obkMatthias Krüger-17/+69
Support allocations with non-Box<[u8]> bytes This is prep work for allowing miri to support passing pointers to C code, which will require `Allocation`s to be correctly aligned. Currently, it just makes `Allocation` generic and plumbs the necessary changes through the right places. The follow-up to this will be adding a type in the miri interpreter which correctly aligns the bytes, using that for the Miri engine, then allowing Miri to pass pointers into these allocations to C calls. Based off of #100467, credit to ```@emarteca``` for the code
2023-03-01FormatRune Tynan-8/+2
2023-02-28Make zeroed return an OptionRune Tynan-13/+8
2023-02-22Remove type-traversal trait aliasesAlan Egerton-1/+1
2023-02-20Minimal changes to make miri workRune Tynan-14/+4
2023-02-20Remove unused lifetimeRune Tynan-1/+1
2023-02-20Add mentioned from_raw_bytes constructorRune Tynan-0/+17
2023-02-20Allow non-`Box` allocations in preparation for aligned const allocations for ↵Rune Tynan-17/+73
miri. Credit to emarteca for the code.
2023-02-15Use target instead of machine for mir interpreter integer handling.Oli Scherer-16/+16
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-4/+6
2023-02-07miri: fix ICE when running out of address spaceRalf Jung-1/+6
2023-01-25create and use GlobalAlloc::address_spaceErik Desjardins-1/+12
2023-01-17Remove double spaces after dots in commentsMaybe Waffle-3/+3
2022-12-10compiler: remove unnecessary imports and qualified pathsKaDiWa-3/+0
2022-11-30Update documentationOli Scherer-1/+1
2022-11-28Rollup merge of #104933 - RalfJung:interpret-partial-ord, r=oli-obkMatthias Krüger-7/+7
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-7/+7
a sensible order
2022-11-20Rollup merge of #104564 - RalfJung:either, r=oli-obkMatthias Krüger-8/+12
interpret: use Either over Result when it is not representing an error condition r? `@oli-obk`
2022-11-18interpret: use Either over Result when it is not representing an error conditionRalf Jung-8/+12
2022-11-17fix a typoRalf Jung-1/+1
2022-11-16cleanup and dedupe CTFE and Miri error reportingRalf Jung-19/+8
2022-11-15Auto merge of #104054 - RalfJung:byte-provenance, r=oli-obkbors-787/+962
interpret: support for per-byte provenance Also factors the provenance map into its own module. The third commit does the same for the init mask. I can move it in a separate PR if you prefer. Fixes https://github.com/rust-lang/miri/issues/2181 r? `@oli-obk`
2022-11-14assert that we are (de)seiralizing ProvenanceMap correctlyRalf Jung-11/+11
2022-11-14Manually implement `Encodable` for ProvenanceMap to avoid serializing an ↵Oli Scherer-1/+16
always-none option
2022-11-10Use const_error_with_guaranteed moreMichael Goulet-1/+2
2022-11-09another optimization attemptRalf Jung-66/+83