rust/compiler/rustc_llvm
Stuart Cook 8f354fc94a
Rollup merge of #131956 - Zalathar:llvm-counters, r=compiler-errors,Swatinem
coverage: Pass coverage mappings to LLVM as separate structs

Instead of trying to cram *N* different kinds of coverage mapping data into a single list for FFI, pass *N* different lists of simpler structs.

This avoids the need to fill unused fields with dummy values, and avoids the need to tag structs with their underlying kind. It also lets us call the dedicated LLVM constructors for each different mapping type, instead of having to go through the complex general-purpose constructor.

Even though this adds multiple new structs to the FFI surface area, the resulting C++ code is simpler and shorter.

---

I've structured this mostly as a single atomic patch, rather than a series of incremental changes, because that avoids the need to make fiddly fixes to code that is about to be deleted anyway.
2024-10-24 14:19:57 +11:00
..
llvm-wrapper Rollup merge of #131956 - Zalathar:llvm-counters, r=compiler-errors,Swatinem 2024-10-24 14:19:57 +11:00
src update cfgs 2024-09-05 17:24:01 +01:00
build.rs Add system libs when cross compiling for Windows 2024-09-15 12:38:55 +00:00
Cargo.toml Unpin cc and upgrade to the latest version 2024-09-30 13:31:42 -04:00