llvm-project
829992cf - [NewGVN] Prevent cyclic dependencies by ensuring Leader has min RPO number (#82110)

Commit
1 year ago
[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.
Author
Parents
Loading