rust/compiler/rustc_codegen_ssa/src/mir
bors 263edd43c5 Auto merge of #99033 - 5225225:interpreter-validity-checks, r=oli-obk
Use constant eval to do strict mem::uninit/zeroed validity checks

I'm not sure about the code organisation here, I just dumped the check in rustc_const_eval at the root. Not hard to move it elsewhere, in any case.

Also, this means cranelift codegen intrinsics lose the strict checks, since they don't seem to depend on rustc_const_eval, and I didn't see a point in keeping around two copies.

I also left comments in the is_zero_valid methods about "uhhh help how do i do this", those apply to both methods equally.

Also rustc_codegen_ssa now depends on rustc_const_eval... is this okay?

Pinging `@RalfJung` since you were the one who mentioned this to me, so I'm assuming you're interested.

Haven't had a chance to run full tests on this since it's really warm, and it's 1AM, I'll check out any failures/comments in the morning :)
2022-07-17 19:28:01 +00:00
..
analyze.rs Move dominators from Body to BasicBlocks 2022-07-07 08:11:49 +02:00
block.rs Use constant eval to do strict validity checks 2022-07-14 22:55:17 +01:00
constant.rs implement valtrees as the type-system representation for constant values 2022-06-14 16:07:11 +02:00
coverageinfo.rs coverageinfo query needs to use the same MIR as codegen 2021-05-12 20:27:07 -07:00
debuginfo.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
intrinsic.rs Allow arithmetic and certain bitwise ops on AtomicPtr 2022-07-01 06:21:18 -07:00
mod.rs Update TypeVisitor paths 2022-07-06 06:41:53 +01:00
operand.rs tweak names and output and bless 2022-07-09 07:43:56 -04:00
place.rs Introduce opaque type to hidden type projection 2022-07-15 15:49:22 +00:00
rvalue.rs add new rval, pull deref early 2022-07-12 14:26:41 +03:00
statement.rs Some tracing cleanups 2022-06-29 09:56:30 +00:00