[all-commits] [llvm/llvm-project] f70cdc: [NPM] Properly reset parent loop after loop passes
Ta-Wei Tu via All-commits
all-commits at lists.llvm.org
Thu Feb 18 10:51:23 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f70cdc5b5c7c6086417409ec2d31b66144fabbc9
https://github.com/llvm/llvm-project/commit/f70cdc5b5c7c6086417409ec2d31b66144fabbc9
Author: Ta-Wei Tu <tu.da.wei at gmail.com>
Date: 2021-02-19 (Fri, 19 Feb 2021)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
A llvm/test/Transforms/Util/pr49185.ll
Log Message:
-----------
[NPM] Properly reset parent loop after loop passes
This fixes https://bugs.llvm.org/show_bug.cgi?id=49185
When `NDEBUG` is not set, `LPMUpdater` checks if the added loops have the same parent loop as the current one in `addSiblingLoops`.
If multiple loop passes are executed through `LoopPassManager`, `U.ParentL` will be the same across all passes.
However, the parent loop might change after running a loop pass, resulting in assertion failures in subsequent passes.
This patch resets `U.ParentL` after running individual loop passes in `LoopPassManager`.
Reviewed By: asbirlea, ychen
Differential Revision: https://reviews.llvm.org/D96727
More information about the All-commits
mailing list