about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/llvm
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2025-08-08 12:39:30 +0200
committerNikita Popov <npopov@redhat.com>2025-08-11 12:39:23 +0200
commitebef9d7f6387fb0541a0dab48d1cd1f86556df04 (patch)
tree56bbcaea12e6bc5e848ddecdb3bf95fcf7c4b90c /compiler/rustc_codegen_llvm/src/llvm
parent2886b36df4a646dd8d82fb65bf0c9d8d96c1f71a (diff)
downloadrust-ebef9d7f6387fb0541a0dab48d1cd1f86556df04.tar.gz
rust-ebef9d7f6387fb0541a0dab48d1cd1f86556df04.zip
Set dead_on_return attribute for indirect arguments
Set the dead_on_return attribute (added in LLVM 21) for arguments
that are passed indirectly, but not byval.

This indicates that the value of the argument on return does not
matter, enabling additional dead store elimination.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm')
-rw-r--r--compiler/rustc_codegen_llvm/src/llvm/ffi.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
index 75d3d27f74e..ad3c3d5932e 100644
--- a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
+++ b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
@@ -249,6 +249,7 @@ pub(crate) enum AttributeKind {
     FnRetThunkExtern = 41,
     Writable = 42,
     DeadOnUnwind = 43,
+    DeadOnReturn = 44,
 }
 
 /// LLVMIntPredicate