[llvm] 3608e18 - [DSE] Use MapVector for IOLs

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 28 12:54:39 PST 2021


Author: Nikita Popov
Date: 2021-11-28T21:54:29+01:00
New Revision: 3608e18a946e77a474a468304b6c3904c55dbce0

URL: https://github.com/llvm/llvm-project/commit/3608e18a946e77a474a468304b6c3904c55dbce0
DIFF: https://github.com/llvm/llvm-project/commit/3608e18a946e77a474a468304b6c3904c55dbce0.diff

LOG: [DSE] Use MapVector for IOLs

I'm not sure whether this can cause any actual non-determinism,
but at least it makes the DSE debug log non-deterministic, which
makes it harder to debug other non-determinism issues.

Added: 
    

Modified: 
    llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp b/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
index 4e7e33b996672..e7c14eb5b7472 100644
--- a/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+++ b/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
@@ -812,7 +812,7 @@ struct DSEState {
 
   /// Keep track of instructions (partly) overlapping with killing MemoryDefs per
   /// basic block.
-  DenseMap<BasicBlock *, InstOverlapIntervalsTy> IOLs;
+  MapVector<BasicBlock *, InstOverlapIntervalsTy> IOLs;
 
   // Class contains self-reference, make sure it's not copied/moved.
   DSEState(const DSEState &) = delete;


        


More information about the llvm-commits mailing list