about summary refs log tree commit diff
path: root/compiler/rustc_const_eval/src/interpret/mod.rs
diff options
context:
space:
mode:
authorCamille GILLOT <gillot.camille@gmail.com>2021-01-05 20:08:11 +0100
committerCamille GILLOT <gillot.camille@gmail.com>2021-09-07 20:46:26 +0200
commitc5fc2609f0f81698616734e22adee9b9ed67f729 (patch)
treef01d9c73942c336e3c7bbbd5e7a7621a7c230e1f /compiler/rustc_const_eval/src/interpret/mod.rs
parentfd9c04fe32d3b7700d600ae1be72d5758ffd66ff (diff)
downloadrust-c5fc2609f0f81698616734e22adee9b9ed67f729.tar.gz
rust-c5fc2609f0f81698616734e22adee9b9ed67f729.zip
Rename rustc_mir to rustc_const_eval.
Diffstat (limited to 'compiler/rustc_const_eval/src/interpret/mod.rs')
-rw-r--r--compiler/rustc_const_eval/src/interpret/mod.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/compiler/rustc_const_eval/src/interpret/mod.rs b/compiler/rustc_const_eval/src/interpret/mod.rs
new file mode 100644
index 00000000000..2b9fe565997
--- /dev/null
+++ b/compiler/rustc_const_eval/src/interpret/mod.rs
@@ -0,0 +1,33 @@
+//! An interpreter for MIR used in CTFE and by miri
+
+mod cast;
+mod eval_context;
+mod intern;
+mod intrinsics;
+mod machine;
+mod memory;
+mod operand;
+mod operator;
+mod place;
+mod step;
+mod terminator;
+mod traits;
+mod util;
+mod validity;
+mod visitor;
+
+pub use rustc_middle::mir::interpret::*; // have all the `interpret` symbols in one place: here
+
+pub use self::eval_context::{
+    Frame, FrameInfo, InterpCx, LocalState, LocalValue, StackPopCleanup, StackPopUnwind,
+};
+pub use self::intern::{intern_const_alloc_recursive, InternKind};
+pub use self::machine::{compile_time_machine, AllocMap, Machine, MayLeak, StackPopJump};
+pub use self::memory::{AllocCheck, AllocRef, AllocRefMut, FnVal, Memory, MemoryKind};
+pub use self::operand::{ImmTy, Immediate, OpTy, Operand};
+pub use self::place::{MPlaceTy, MemPlace, MemPlaceMeta, Place, PlaceTy};
+pub use self::validity::{CtfeValidationMode, RefTracking};
+pub use self::visitor::{MutValueVisitor, ValueVisitor};
+
+crate use self::intrinsics::eval_nullary_intrinsic;
+use eval_context::{from_known_layout, mir_assign_valid_types};