aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Module.cpp
diff options
context:
space:
mode:
authorManuelJBrito <59119670+ManuelJBrito@users.noreply.github.com>2024-08-14 08:18:33 +0100
committerGitHub <noreply@github.com>2024-08-14 08:18:33 +0100
commit829992cf21e9220bbf7985073745ee8f09b0b7f1 (patch)
tree29d324c1557efcd33583698f5047208fa017f58e /llvm/lib/IR/Module.cpp
parent109b50808f72c228518766c3b384dd14e0dcf4ee (diff)
downloadllvm-829992cf21e9220bbf7985073745ee8f09b0b7f1.zip
llvm-829992cf21e9220bbf7985073745ee8f09b0b7f1.tar.gz
llvm-829992cf21e9220bbf7985073745ee8f09b0b7f1.tar.bz2
[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.
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
0 files changed, 0 insertions, 0 deletions