aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorFabian Ritter <fabian.ritter@amd.com>2024-07-10 11:29:26 +0200
committerGitHub <noreply@github.com>2024-07-10 11:29:26 +0200
commit6c84bba218f7b64f2257405ac30a3c6948df8373 (patch)
tree4db7df5bf8a154fcc3ceaca88f5606c5fac2edc9 /clang/lib/Frontend/CompilerInvocation.cpp
parent42672199ec2e2a1d38c3f52305e3846b0ec681ed (diff)
downloadllvm-6c84bba218f7b64f2257405ac30a3c6948df8373.zip
llvm-6c84bba218f7b64f2257405ac30a3c6948df8373.tar.gz
llvm-6c84bba218f7b64f2257405ac30a3c6948df8373.tar.bz2
[LowerMemIntrinsics] Use correct alignment in residual loop for variable llvm.memcpy (#97998)
Memcpy intrinsics with statically unknown loop sizes are lowered with two load/store loops: one with access widths specified by the target, and a residual loop that copies remaining bytes individually. As the residual loop operates byte-wise, its accesses are only 1-aligned. However, we currently use the alignment that is optimal for the first loop in both, which is unsound. With this patch, we use the correct alignment in the residual loop. The lowering of memcpy with a static size already handles alignments for the residual correctly.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions