[all-commits] [llvm/llvm-project] fa44ca: [LoopBoundSplit] Fix edge connections during trans...

Congzhe Cao via All-commits all-commits at lists.llvm.org
Thu Apr 16 15:00:54 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fa44ca8e5ef6f57c03ba55a4c7b944c9a3ee633e
      https://github.com/llvm/llvm-project/commit/fa44ca8e5ef6f57c03ba55a4c7b944c9a3ee633e
  Author: Congzhe Cao <congzhe.cao at huawei.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp

  Log Message:
  -----------
  [LoopBoundSplit] Fix edge connections during transformation (#192106)

Fixed #190672. 

The issue is caused by invalid intermediate IR when `getSCEV()` is
called during transformation: the exiting block of `pre-loop` did not
re-connect to preheader of the `post-loop`, causing `LI.verify()`
unable to correctly recompute another LoopInfo for verification. 
To fix, reconnect the edge earlier before calling `getSCEV()`.

Also moved the DT updates to more appropriate places right after IR 
control flow has changed. and added a few LI and DT verifications to 
improve robustness of the pass.



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