rustc_codegen_llvm: always set AlwaysPreserve on all debuginfo variables Making this depend on the optimization level appears to have been a copy-paste mistake (other LLVM functions called in this module also take a `bool` argument, but there it means something unrelated). Also see https://github.com/rust-lang/rust/pull/8855#discussion_r374392128. I don't believe we have any reason to let LLVM omit user variables from DWARF, and we were already setting this to `true` when LLVM *could* optimize them away, so this PR should have no effect anyway. r? @michaelwoerister or @nagisa cc @hanna-kruppe @nikomatsakis |
||
|---|---|---|
| .. | ||
| back | ||
| debuginfo | ||
| llvm | ||
| abi.rs | ||
| allocator.rs | ||
| asm.rs | ||
| attributes.rs | ||
| base.rs | ||
| build.rs | ||
| builder.rs | ||
| callee.rs | ||
| Cargo.toml | ||
| common.rs | ||
| consts.rs | ||
| context.rs | ||
| declare.rs | ||
| intrinsic.rs | ||
| lib.rs | ||
| llvm_util.rs | ||
| metadata.rs | ||
| mono_item.rs | ||
| README.md | ||
| type_.rs | ||
| type_of.rs | ||
| va_arg.rs | ||
| value.rs | ||
The codegen crate contains the code to convert from MIR into LLVM IR,
and then from LLVM IR into machine code. In general it contains code
that runs towards the end of the compilation process.
For more information about how codegen works, see the rustc guide.