rust/compiler/rustc_codegen_llvm/src
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
..
back Use &raw in the compiler 2024-09-26 20:33:26 -07:00
coverageinfo Rollup merge of #131956 - Zalathar:llvm-counters, r=compiler-errors,Swatinem 2024-10-24 14:19:57 +11:00
debuginfo Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00
llvm Rollup merge of #131956 - Zalathar:llvm-counters, r=compiler-errors,Swatinem 2024-10-24 14:19:57 +11:00
abi.rs compiler: Factor rustc_target::abi out of cg_llvm 2024-10-08 18:24:56 -07:00
allocator.rs Replace -Z default-hidden-visibility with -Z default-visibility 2024-10-01 22:32:13 +10:00
asm.rs Fix AArch64InlineAsmReg::emit 2024-10-14 06:04:07 +09:00
attributes.rs codegen_ssa: consolidate tied feature checking 2024-09-24 15:48:49 +01:00
base.rs Add warn(unreachable_pub) to rustc_codegen_llvm. 2024-08-16 08:46:57 +10:00
builder.rs compiler: Factor rustc_target::abi out of cg_llvm 2024-10-08 18:24:56 -07:00
callee.rs Streamline hidden visibility setting. 2024-09-19 20:10:42 +10:00
common.rs LLVMConstInt only allows integer types 2024-10-12 23:02:15 +08:00
consts.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
context.rs llvm: Match aarch64 data layout to new LLVM layout 2024-10-16 01:16:44 +00:00
declare.rs Use Default visibility for rustc-generated C symbol declarations 2024-10-11 08:43:27 +11:00
errors.rs codegen_ssa: consolidate tied feature checking 2024-09-24 15:48:49 +01:00
intrinsic.rs Auto merge of #130950 - compiler-errors:yeet-eval, r=BoxyUwU 2024-10-21 03:46:28 +00:00
lib.rs Use &raw in the compiler 2024-09-26 20:33:26 -07:00
llvm_util.rs Rollup merge of #130741 - mrkajetanp:detect-b16b16, r=Amanieu 2024-10-10 22:00:48 +02:00
mono_item.rs cg_llvm: Reuse LLVM-C Comdat support 2024-10-19 10:46:10 -07:00
type_.rs replace some deprecated functions 2024-09-19 09:39:28 +08:00
type_of.rs "innermost", "outermost", "leftmost", and "rightmost" don't need hyphens 2024-10-23 02:45:24 -07:00
va_arg.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
value.rs Add warn(unreachable_pub) to rustc_codegen_llvm. 2024-08-16 08:46:57 +10:00