rust/compiler/rustc_codegen_llvm
Matthias Krüger f440999bb2
Rollup merge of #111167 - cuviper:type-decl-disubprogram, r=michaelwoerister
debuginfo: split method declaration and definition

When we're adding a method to a type DIE, we only want a DW_AT_declaration
there, because LLVM LTO can't unify type definitions when a child DIE is a
full subprogram definition. Now the subprogram definition gets added at the
CU level with a specification link back to the abstract declaration.

Both GCC and Clang write debuginfo this way for C++ class methods.

Fixes #109730.
Fixes #109934.
2023-05-06 13:30:05 +02:00
..
src Rollup merge of #111167 - cuviper:type-decl-disubprogram, r=michaelwoerister 2023-05-06 13:30:05 +02:00
Cargo.toml drop unused deps, gate libc under unix for one crate 2023-04-22 15:22:21 +03:00
messages.ftl Stablize raw-dylib, link_ordinal and -Cdlltool 2023-04-18 11:01:07 -07:00
README.md

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 dev guide.