[all-commits] [llvm/llvm-project] abe3c5: [GVNSink] Fix non-determinisms by using a determin...
AdityaK via All-commits
all-commits at lists.llvm.org
Sun May 12 19:42:16 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: abe3c5ac19e455d8a6df3120fa5e7a6e5f9005a6
https://github.com/llvm/llvm-project/commit/abe3c5ac19e455d8a6df3120fa5e7a6e5f9005a6
Author: AdityaK <hiraditya at msn.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/test/Transforms/GVNSink/int_sideeffect.ll
Log Message:
-----------
[GVNSink] Fix non-determinisms by using a deterministic ordering (#90995)
GVNSink used to order instructions based on their pointer values and was
prone to non-determinism because of that.
This patch ensures all the values stored are using a deterministic
order. I have also added a verfier(`ModelledPHI::verifyModelledPHI`) to
assert when ordering isn't preserved.
Additionally, I have added a test case (mirror graph image of an
existing test) that would have failed before this patch.
Fixes: #77852
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