[llvm] r318165 - [PredicateInfo] Stable sort ValueDFS to remove non-deterministic ordering

Mandeep Singh Grang via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 14 10:22:50 PST 2017


Author: mgrang
Date: Tue Nov 14 10:22:50 2017
New Revision: 318165

URL: http://llvm.org/viewvc/llvm-project?rev=318165&view=rev
Log:
[PredicateInfo] Stable sort ValueDFS to remove non-deterministic ordering

Summary: This fixes failure in Transforms/Util/PredicateInfo/testandor.ll uncovered by D39245.

Reviewers: dberlin

Reviewed By: dberlin

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D39630

Modified:
    llvm/trunk/lib/Transforms/Utils/PredicateInfo.cpp

Modified: llvm/trunk/lib/Transforms/Utils/PredicateInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/PredicateInfo.cpp?rev=318165&r1=318164&r2=318165&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/PredicateInfo.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/PredicateInfo.cpp Tue Nov 14 10:22:50 2017
@@ -611,7 +611,7 @@ void PredicateInfo::renameUses(SmallPtrS
     }
 
     convertUsesToDFSOrdered(Op, OrderedUses);
-    std::sort(OrderedUses.begin(), OrderedUses.end(), Compare);
+    std::stable_sort(OrderedUses.begin(), OrderedUses.end(), Compare);
     SmallVector<ValueDFS, 8> RenameStack;
     // For each use, sorted into dfs order, push values and replaces uses with
     // top of stack, which will represent the reaching def.




More information about the llvm-commits mailing list