[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