[all-commits] [llvm/llvm-project] 829992: [NewGVN] Prevent cyclic dependencies by ensuring L...
ManuelJBrito via All-commits
all-commits at lists.llvm.org
Wed Aug 14 00:18:55 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 829992cf21e9220bbf7985073745ee8f09b0b7f1
https://github.com/llvm/llvm-project/commit/829992cf21e9220bbf7985073745ee8f09b0b7f1
Author: ManuelJBrito <59119670+ManuelJBrito at users.noreply.github.com>
Date: 2024-08-14 (Wed, 14 Aug 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/NewGVN.cpp
A llvm/test/Transforms/NewGVN/pr36335-phi-undef.ll
M llvm/test/Transforms/NewGVN/simp-to-self.ll
R llvm/test/Transforms/NewGVN/todo-pr36335-phi-undef.ll
Log Message:
-----------
[NewGVN] Prevent cyclic dependencies by ensuring Leader has min RPO number (#82110)
Cyclic dependencies in NewGVN can result in miscompilation and
termination issues.
This patch ensures that the Class Leader is always the member with the
lowest RPO number. This ensures that the Class Leader is processed
before all other members, making the cyclic dependence impossible.
This fixes #35683.
Regressions:
- 'simp-to-self.ll' regresses due to a known limitation in the way
NewGVN and InstSimplify interact. With the new leader, InstSimplify does
not know that %conv is 1 and fails to simplify.
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