1
Fork 0
rust/compiler/rustc_codegen_llvm/src
bors 29fe618f75 Auto merge of #123052 - maurer:addr-taken, r=compiler-errors
CFI: Support function pointers for trait methods

Adds support for both CFI and KCFI for function pointers to trait methods by attaching both concrete and abstract types to functions.

KCFI does this through generation of a `ReifyShim` on any function pointer for a method that could go into a vtable, and keeping this separate from `ReifyShim`s that are *intended* for vtable us by setting a `ReifyReason` on them.

CFI does this by setting both the concrete and abstract type on every instance.

This should land after #123024 or a similar PR, as it diverges the implementation of CFI vs KCFI.

r? `@compiler-errors`
2024-04-04 06:40:30 +00:00
..
back Replace Session should_remap_filepaths with filename_display_preference 2024-03-28 18:47:26 +01:00
coverageinfo Auto merge of #122972 - beetrees:use-align-type, r=fee1-dead 2024-04-01 03:16:45 +00:00
debuginfo Replace Session should_remap_filepaths with filename_display_preference 2024-03-28 18:47:26 +01:00
llvm Use the Align type when parsing alignment attributes 2024-04-01 03:05:55 +01:00
abi.rs make PassMode::Cast consistently copy between Rust/ABI representation 2024-03-17 00:39:21 -04:00
allocator.rs Add -Zuse-sync-unwind 2023-12-31 15:27:43 +08:00
asm.rs CFI: Use Instance at callsites 2024-03-23 18:30:39 +00:00
attributes.rs Use the Align type when parsing alignment attributes 2024-04-01 03:05:55 +01:00
base.rs compiler: replace cstr macro with c str literals in compiler and few other c str replacements 2023-12-03 14:54:09 +03:00
builder.rs Auto merge of #122849 - clubby789:no-metadata, r=petrochenkov 2024-03-26 06:46:43 +00:00
callee.rs Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
common.rs Add+Use mir::BinOp::Cmp 2024-03-23 23:23:41 -07:00
consts.rs Some comment nits 2024-03-12 08:51:20 +00:00
context.rs Auto merge of #119552 - krtab:dead_code_priv_mod_pub_field, r=cjgillot,saethlin 2024-03-23 00:37:05 +00:00
declare.rs CFI: Switch sense of type erasure flag 2024-04-02 18:24:44 +00:00
errors.rs Rename IntoDiagnostic as Diagnostic. 2024-03-11 09:15:09 +11:00
intrinsic.rs rename expose_addr to expose_provenance 2024-04-03 16:00:38 +02:00
lib.rs compiler: use addr_of! 2024-02-24 18:53:48 +03:00
llvm_util.rs Register LLVM handlers for bad-alloc / OOM 2024-03-15 15:49:06 -07:00
mono_item.rs Some comment nits 2024-03-12 08:51:20 +00:00
type_.rs Fix 32-bit overflows in LLVM composite constants 2024-03-10 17:54:55 -04:00
type_of.rs Remove the unused field_remapping field from TypeLowering 2024-03-08 03:42:47 +00:00
va_arg.rs Add arm64ec-pc-windows-msvc target 2024-03-06 17:49:37 -08:00
value.rs