about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-10-02 17:20:13 +0000
committerbors <bors@rust-lang.org>2020-10-02 17:20:13 +0000
commitbe3808108e15d84881f07af85b3145bcdd626e48 (patch)
tree210b76957c422465c98f67c02a6b30c4f98aaab8 /compiler/rustc_codegen_llvm/src
parenta585aaefb662ae26f8675955f26fad9be4fea96b (diff)
parentc47011f66971010039aa4b83e16a9f9c017f69f3 (diff)
downloadrust-be3808108e15d84881f07af85b3145bcdd626e48.tar.gz
rust-be3808108e15d84881f07af85b3145bcdd626e48.zip
Auto merge of #77369 - jonas-schievink:validate-storage-liveness, r=wesleywiser
-Zvalidate-mir: Assert that storage is allocated on local use

This extends the MIR validator to check that locals are only used when their backing storage is currently allocated via `StorageLive`.

The result of this is that miscompilations such as https://github.com/rust-lang/rust/issues/77359 are caught and turned into ICEs.

The PR currently fails tests because miscompilations such as https://github.com/rust-lang/rust/issues/77359 are caught and turned into ICEs.

I have confirmed that tests pass (even with `-Zvalidate-mir`) once `SimplifyArmIdentity` is turned into a no-op (except mir-opt tests, of course).
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions