about summary refs log tree commit diff
path: root/src/test/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-02-11 07:36:59 +0000
committerbors <bors@rust-lang.org>2020-02-11 07:36:59 +0000
commitb6690a8c35e9afa3e0f65140cc69d4ba1b9e78c4 (patch)
tree038abc30010b3400090a949e420260c92428fb92 /src/test/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs
parentdc4242d9052a42cdf329c3a2430d02a3b3d415cb (diff)
parent1a8f5efab8ccd9d5f6ac794ab1bcf90b5efa536a (diff)
downloadrust-b6690a8c35e9afa3e0f65140cc69d4ba1b9e78c4.tar.gz
rust-b6690a8c35e9afa3e0f65140cc69d4ba1b9e78c4.zip
Auto merge of #68961 - eddyb:dbg-stack-dunk, r=nagisa
rustc_codegen_ssa: only "spill" SSA-like values to the stack for debuginfo.

This is an implementation of the idea described in https://github.com/rust-lang/rust/issues/68817#issuecomment-583719182.

In short, instead of debuginfo forcing otherwise-SSA-like MIR locals into `alloca`s, and requiring a `load` for each use (or two, for scalar pairs), the `alloca` is now *only* used for attaching debuginfo with `llvm.dbg.declare`: the `OperandRef` is stored to the `alloca`, but *never loaded* from it.

Outside of `debug_introduce_local`, nothing cares about the debuginfo-only `alloca`, and instead works with `OperandRef` the same as MIR locals without debuginfo before this PR.

This should have some of the benefits of `llvm.dbg.value`, while working today.

cc @nagisa @nikomatsakis
Diffstat (limited to 'src/test/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs')
0 files changed, 0 insertions, 0 deletions