[all-commits] [llvm/llvm-project] 397323: [InterleavedLoadCombine] Do not combine loads acro...
Madhur Amilkanthwar via All-commits
all-commits at lists.llvm.org
Wed Sep 16 01:05:29 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 39732305282242041dad8c8edad6a6b5804f1d3a
https://github.com/llvm/llvm-project/commit/39732305282242041dad8c8edad6a6b5804f1d3a
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
A llvm/test/CodeGen/AArch64/interleaved-load-combine-crossblock.ll
Log Message:
-----------
[InterleavedLoadCombine] Do not combine loads across basic blocks (#223915)
This pass turns a group of interleaved loads into a single wide load
inserted at the first load. That is only valid when all of the loads are
in the same basic block. Otherwise the wide load can read memory that
the original program only accessed on a conditional path.
The offset index keyed candidates on base pointer, type and offset only,
so it could pair loads from different blocks. Restrict each block's
matching to candidates whose loads are in that block. This also keeps
the candidate list and index per block, so they stay small.
Fixes a miscompile introduced by #213053.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list