[all-commits] [llvm/llvm-project] eb9091: [InterleavedLoadCombine] Do not widen loads past a...
Madhur Amilkanthwar via All-commits
all-commits at lists.llvm.org
Wed Sep 16 03:07:53 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: eb9091da5c418a5c383a5da7fb39a1e22ba7c60d
https://github.com/llvm/llvm-project/commit/eb9091da5c418a5c383a5da7fb39a1e22ba7c60d
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-may-not-return.ll
Log Message:
-----------
[InterleavedLoadCombine] Do not widen loads past a may-not-return instr (#223954)
The combined load reads the whole span at once and is inserted at the
first load, so it effectively hoists the later loads up to that point.
If an instruction between them may not transfer control to its successor
-- a call that might not return, or might throw -- then a load the
original program reached only conditionally would run unconditionally.
All combined loads are in one block, so bail unless the span from the
first to the last load is guaranteed to transfer execution to its
successor.
This gap predates the offset-index change; the old findPattern() did not
check for it either.
Assisted by AI tools.
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