Index: llvm/trunk/lib/Transforms/Utils/PredicateInfo.cpp =================================================================== --- llvm/trunk/lib/Transforms/Utils/PredicateInfo.cpp +++ llvm/trunk/lib/Transforms/Utils/PredicateInfo.cpp @@ -611,7 +611,7 @@ } convertUsesToDFSOrdered(Op, OrderedUses); - std::sort(OrderedUses.begin(), OrderedUses.end(), Compare); + std::stable_sort(OrderedUses.begin(), OrderedUses.end(), Compare); SmallVector RenameStack; // For each use, sorted into dfs order, push values and replaces uses with // top of stack, which will represent the reaching def.