summary refs log tree commit diff
path: root/compiler/rustc_middle/src/mir/interpret
AgeCommit message (Collapse)AuthorLines
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
2022-11-08another attempt at performance improvementsRalf Jung-23/+26
2022-11-07less unsupported errors in Miri, and clarifying commentsRalf Jung-9/+9
2022-11-07try to make things faster when only ptr provenance can existRalf Jung-5/+17
2022-11-06make uninit_mask a unit testRalf Jung-1/+22
2022-11-06move InitMask to its own moduleRalf Jung-587/+567
2022-11-06dont debug-print allocations, that's too verboseRalf Jung-4/+4
2022-11-06interpret: support for per-byte provenanceRalf Jung-185/+312
2022-10-22Auto merge of #103227 - lcnr:bye-bye-unevaluated-const, r=oli-obkbors-1/+25
stop using `ty::UnevaluatedConst` directly best reviewed commit by commit. simplifies #99798 because we now don't have to expand `ty::UnevaluatedConst` to `ty::Const`. I also remember some other places where using `ty::UnevaluatedConst` directly was annoying and caused issues, though I don't quite remember what they were rn '^^ r? `@oli-obk` cc `@JulianKnodt`
2022-10-21fix some typosRageking8-1/+1
2022-10-18`const_evaluatable_unchecked` to const evallcnr-1/+25
2022-10-14more dupe word typosRageking8-1/+1
2022-10-07make const_err a hard errorRalf Jung-18/+1
2022-10-04It's not about types or consts, but the lack of regionsOli Scherer-2/+2
2022-09-23rename Unevaluated to UnevaluatedConstb-naber-3/+3
2022-09-22introduce mir::Unevaluatedb-naber-3/+7
2022-09-19`DestructuredConst` split mir and tylcnr-1/+1
2022-09-17Auto merge of #98588 - b-naber:valtrees-cleanup, r=lcnrbors-2/+2
Use only ty::Unevaluated<'tcx, ()> in type system r? `@lcnr`
2022-09-15Replace more manual TypeFoldable and TypeVisitable impls with derivesOli Scherer-1/+1
2022-09-15derive various Lift impl instead of hand rolling themOli Scherer-18/+2
2022-09-13use ty::Unevaluated<'tcx, ()> in type systemb-naber-2/+2
2022-08-28improve OFFSET_IS_ADDR docsRalf Jung-2/+6
2022-08-27interpret: make read-pointer-as-bytes *always* work in MiriRalf Jung-95/+83
and show some extra information when it happens in CTFE
2022-08-27interpret: rename relocation → provenanceRalf Jung-95/+92
2022-08-26remove now-unused ScalarMaybeUninitRalf Jung-134/+1
2022-08-26make read_immediate error immediately on uninit, so ImmTy can carry ↵Ralf Jung-17/+8
initialized Scalar
2022-08-26remove some now-unnecessary parameters from check_bytesRalf Jung-19/+4
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-20various nits from reviewRalf Jung-1/+1
2022-07-20consistently use VTable over Vtable (matching stable stdlib API RawWakerVTable)Ralf Jung-14/+14
2022-07-20make use of symbolic vtables in interpreterRalf Jung-18/+9
2022-07-20rename get_global_alloc to try_get_global_allocRalf Jung-5/+12
2022-07-20add a Vtable kind of symbolic allocationsRalf Jung-4/+40
2022-07-19interpret: rename Tag/PointerTag to Prov/ProvenanceRalf Jung-95/+97
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.
2022-07-13get rid of MemPlaceMeta::PoisonRalf Jung-0/+2
MPlaceTy::dangling still exists, but now it is only called in places that actually conceptually allocate something new, so that's fine.
2022-07-09tweak names and output and blessRalf Jung-3/+3
2022-07-09review feedbackRalf Jung-3/+3