rust/compiler/rustc_codegen_llvm/src/debuginfo
bors 9b2a46591a Auto merge of #93644 - michaelwoerister:simpler-debuginfo-typemap, r=wesleywiser
debuginfo: Simplify TypeMap used during LLVM debuginfo generation.

This PR simplifies the TypeMap that is used in `rustc_codegen_llvm::debuginfo::metadata`. It was unnecessarily complicated because it was originally implemented when types were not yet normalized before codegen. So it did it's own normalization and kept track of multiple unnormalized types being mapped to a single unique id.

This PR is based on https://github.com/rust-lang/rust/pull/93503, which is not merged yet.

The PR also removes the arena used for allocating string ids and instead uses `InlinableString` from the [inlinable_string](https://crates.io/crates/inlinable_string) crate. That might not be the best choice, since that crate does not seem to be very actively maintained. The [flexible-string](https://crates.io/crates/flexible-string) crate would be an alternative.

r? `@ghost`
2022-02-25 11:00:32 +00:00
..
create_scope_map.rs Remove in_band_lifetimes from rustc_codegen_llvm 2021-12-16 14:43:32 -05:00
doc.md Cleanup LLVM debuginfo module docs 2021-03-20 14:38:49 -07:00
gdb.rs Remove in_band_lifetimes from rustc_codegen_llvm 2021-12-16 14:43:32 -05:00
metadata.rs Auto merge of #93644 - michaelwoerister:simpler-debuginfo-typemap, r=wesleywiser 2022-02-25 11:00:32 +00:00
mod.rs debuginfo: Simplify TypeMap used during LLVM debuginfo generation. 2022-02-21 13:03:36 +01:00
namespace.rs Remove in_band_lifetimes from rustc_codegen_llvm 2021-12-16 14:43:32 -05:00
utils.rs properly handle fat pointers to uninhabitable types 2022-02-23 08:20:12 -08:00