]> git.lizzy.rs Git - rust.git/commit
interpret: remove LocalValue::Unallocated, add Operand::Uninit
authorRalf Jung <post@ralfj.de>
Sat, 2 Jul 2022 20:24:42 +0000 (16:24 -0400)
committerRalf Jung <post@ralfj.de>
Wed, 6 Jul 2022 18:03:20 +0000 (14:03 -0400)
commit8ef0caa23ca31ccc8ef3769a0aeb35bea15532a6
treec862d0cfbbc015b1fb7740d6fbf205c3aa929374
parent049308cf8b48e9d67e54d6d0b01c10c79d1efc3a
interpret: remove LocalValue::Unallocated, add Operand::Uninit

Operand::Uninit is an *allocated* operand that is fully uninitialized.
This lets us lazily allocate the actual backing store of *all* locals (no matter their ABI).

I also reordered things in pop_stack_frame at the same time.
I should probably have made that a separate commit...
compiler/rustc_const_eval/src/const_eval/eval_queries.rs
compiler/rustc_const_eval/src/interpret/cast.rs
compiler/rustc_const_eval/src/interpret/eval_context.rs
compiler/rustc_const_eval/src/interpret/machine.rs
compiler/rustc_const_eval/src/interpret/operand.rs
compiler/rustc_const_eval/src/interpret/place.rs
compiler/rustc_mir_transform/src/const_prop.rs
compiler/rustc_mir_transform/src/const_prop_lint.rs