about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-07-17 19:28:01 +0000
committerbors <bors@rust-lang.org>2022-07-17 19:28:01 +0000
commit33b297a52543ce7eb7783a9a0b1243e8b50c60f9 (patch)
tree5117d2c30a4aa9f5af9b16ac2037d932632a43ed /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parent9ea9c093e5ff345305b1236a553cc5999b570a55 (diff)
parent5a81bf7ad2495de1d13813db7fb8bead5ce6685e (diff)
downloadrust-33b297a52543ce7eb7783a9a0b1243e8b50c60f9.tar.gz
rust-33b297a52543ce7eb7783a9a0b1243e8b50c60f9.zip
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 :)
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions