[all-commits] [llvm/llvm-project] b09fce: [LoopFusion] Reform LCSSA after peelFusionCandidat...
Madhur Amilkanthwar via All-commits
all-commits at lists.llvm.org
Thu Jun 4 01:43:53 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b09fceba26bf6d34465821460deb40b3834cf50f
https://github.com/llvm/llvm-project/commit/b09fceba26bf6d34465821460deb40b3834cf50f
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
A llvm/test/Transforms/LoopFusion/peel-preserve-lcssa.ll
Log Message:
-----------
[LoopFusion] Reform LCSSA after peelFusionCandidate's peelLoop (#200442)
peelLoop's internal simplifyLoop call requires LCSSA to be preserved
across it, but the cloned exit edges and cloned defs that peelLoop
introduces are not reflected in the existing LCSSA phis, so the contract
cannot be honoured. Pass PreserveLCSSA=false to peelLoop here and reform
LCSSA on the affected nest immediately afterward. LCSSA is expected
before and after peel+fuse, just not during it.
Caught by yarpgen fuzzing of clang -O3 -fexperimental-loop-fusion -mllvm
-loop-fusion-peel-max-count=8 on AArch64.
Fixes #199418
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