[llvm] r312098 - [cfi] Fixed non-determinism in codegen due to DenseSet iteration order

Mandeep Singh Grang via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 29 21:47:21 PDT 2017


Author: mgrang
Date: Tue Aug 29 21:47:21 2017
New Revision: 312098

URL: http://llvm.org/viewvc/llvm-project?rev=312098&view=rev
Log:
[cfi] Fixed non-determinism in codegen due to DenseSet iteration order

Modified:
    llvm/trunk/lib/Transforms/IPO/CrossDSOCFI.cpp

Modified: llvm/trunk/lib/Transforms/IPO/CrossDSOCFI.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/CrossDSOCFI.cpp?rev=312098&r1=312097&r2=312098&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/CrossDSOCFI.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/CrossDSOCFI.cpp Tue Aug 29 21:47:21 2017
@@ -13,8 +13,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "llvm/Transforms/IPO/CrossDSOCFI.h"
-#include "llvm/ADT/DenseSet.h"
 #include "llvm/ADT/EquivalenceClasses.h"
+#include "llvm/ADT/SetVector.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/IR/Constant.h"
@@ -82,7 +82,7 @@ ConstantInt *CrossDSOCFI::extractNumeric
 void CrossDSOCFI::buildCFICheck(Module &M) {
   // FIXME: verify that __cfi_check ends up near the end of the code section,
   // but before the jump slots created in LowerTypeTests.
-  llvm::DenseSet<uint64_t> TypeIds;
+  SetVector<uint64_t> TypeIds;
   SmallVector<MDNode *, 2> Types;
   for (GlobalObject &GO : M.global_objects()) {
     Types.clear();




More information about the llvm-commits mailing list