about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-07-02 17:47:48 +0200
committerGitHub <noreply@github.com>2024-07-02 17:47:48 +0200
commit33b02385866ecf5d066a808099f79676d4581a06 (patch)
tree9ecdfa4db0113ee8bc8a137a1be2df5c7b98f32d /compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
parent836ce13ca9deae0d584aa42f5036ea6a07eb911f (diff)
parent2ef82805d52a2f53368a56e8d3c9473f3cd89efc (diff)
downloadrust-33b02385866ecf5d066a808099f79676d4581a06.tar.gz
rust-33b02385866ecf5d066a808099f79676d4581a06.zip
Rollup merge of #127168 - DianQK:cast-size, r=workingjubilee
Use the aligned size for alloca at args/ret when the pass mode is cast

Fixes #75839. Fixes #121028.

The `load` and `store` instructions in LLVM access the aligned size. For example, `load { i64, i32 }` accesses 16 bytes on x86_64: https://alive2.llvm.org/ce/z/n8CHAp.

BTW, this example is expected to be optimized to immediate UB by Alive2: https://rust.godbolt.org/z/b7xK7hv1c and https://alive2.llvm.org/ce/z/vZDtZH.

r? compiler
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp')
0 files changed, 0 insertions, 0 deletions