about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorErik Desjardins <erikdesjardins@users.noreply.github.com>2022-02-19 09:59:36 -0500
committerErik Desjardins <erikdesjardins@users.noreply.github.com>2022-02-19 09:59:36 -0500
commit6e740ae9348508544f41076ea9c7f8b4c3848688 (patch)
tree998ac4586f04255d709732dfe20e33ee53f33039 /compiler/rustc_codegen_llvm/src
parentdcbdc8c19b4b1e581b8b83a513b11c4c4248d0fc (diff)
downloadrust-6e740ae9348508544f41076ea9c7f8b4c3848688.tar.gz
rust-6e740ae9348508544f41076ea9c7f8b4c3848688.zip
always add align attributes
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
-rw-r--r--compiler/rustc_codegen_llvm/src/abi.rs20
1 files changed, 10 insertions, 10 deletions
diff --git a/compiler/rustc_codegen_llvm/src/abi.rs b/compiler/rustc_codegen_llvm/src/abi.rs
index a20801914ad..5b8cc238480 100644
--- a/compiler/rustc_codegen_llvm/src/abi.rs
+++ b/compiler/rustc_codegen_llvm/src/abi.rs
@@ -59,6 +59,9 @@ impl ArgAttributesExt for ArgAttributes {
                     llattr.apply_llfn(idx, llfn);
                 }
             }
+            if let Some(align) = self.pointee_align {
+                llvm::LLVMRustAddAlignmentAttr(llfn, idx.as_uint(), align.bytes() as u32);
+            }
             match self.arg_ext {
                 ArgExtension::None => {}
                 ArgExtension::Zext => llvm::Attribute::ZExt.apply_llfn(idx, llfn),
@@ -77,9 +80,6 @@ impl ArgAttributesExt for ArgAttributes {
                 }
                 regular -= ArgAttribute::NonNull;
             }
-            if let Some(align) = self.pointee_align {
-                llvm::LLVMRustAddAlignmentAttr(llfn, idx.as_uint(), align.bytes() as u32);
-            }
             for (attr, llattr) in OPTIMIZATION_ATTRIBUTES {
                 if regular.contains(attr) {
                     llattr.apply_llfn(idx, llfn);
@@ -105,6 +105,13 @@ impl ArgAttributesExt for ArgAttributes {
                     llattr.apply_callsite(idx, callsite);
                 }
             }
+            if let Some(align) = self.pointee_align {
+                llvm::LLVMRustAddAlignmentCallSiteAttr(
+                    callsite,
+                    idx.as_uint(),
+                    align.bytes() as u32,
+                );
+            }
             match self.arg_ext {
                 ArgExtension::None => {}
                 ArgExtension::Zext => llvm::Attribute::ZExt.apply_callsite(idx, callsite),
@@ -127,13 +134,6 @@ impl ArgAttributesExt for ArgAttributes {
                 }
                 regular -= ArgAttribute::NonNull;
             }
-            if let Some(align) = self.pointee_align {
-                llvm::LLVMRustAddAlignmentCallSiteAttr(
-                    callsite,
-                    idx.as_uint(),
-                    align.bytes() as u32,
-                );
-            }
             for (attr, llattr) in OPTIMIZATION_ATTRIBUTES {
                 if regular.contains(attr) {
                     llattr.apply_callsite(idx, callsite);