[all-commits] [llvm/llvm-project] 469e3e: [LoopInterchange] Add test for IR modification sto...

Ryotaro Kasuga via All-commits all-commits at lists.llvm.org
Thu Jun 25 09:58:28 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 469e3e81c6264f61d4369246d498c587b5ac6c71
      https://github.com/llvm/llvm-project/commit/469e3e81c6264f61d4369246d498c587b5ac6c71
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-06-26 (Fri, 26 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    A llvm/test/Transforms/LoopInterchange/transform-stop-partway.ll

  Log Message:
  -----------
  [LoopInterchange] Add test for IR modification stops partway (#205562)

The transform phase in LoopInterchange, which actually modifies the
input IR, has several early exits. This means that if the process hits
one of them, the end result may be IR that has been left in a partially
modified state. As far as I have searched, there is only one case that
actually triggers an early exit. In that case, the final output happens
to be valid IR (though not interchanged), so I believe this is not a
correctness issue at the moment. However, the current implementation is
clearly undesirable, especially because the loop is regarded as
interchanged internally even though the transformation actually failed.
We should eliminate all such early exits.

This patch adds a test that I could find, and also adds a debug output
to make it clear which one is triggered.

Assisted-by: Claude Code



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