[llvm] r300060 - [MachineBlockPlacment] Add an assert to ensure there is no order dependency on DenseMap iteration order.
Benjamin Kramer via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 12 06:26:31 PDT 2017
Author: d0k
Date: Wed Apr 12 08:26:31 2017
New Revision: 300060
URL: http://llvm.org/viewvc/llvm-project?rev=300060&view=rev
Log:
[MachineBlockPlacment] Add an assert to ensure there is no order dependency on DenseMap iteration order.
Modified:
llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp
Modified: llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp?rev=300060&r1=300059&r2=300060&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp (original)
+++ llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp Wed Apr 12 08:26:31 2017
@@ -1160,8 +1160,8 @@ void MachineBlockPlacement::precomputeTr
TriangleChainMap.insert(std::make_pair(Chain.getKey(), std::move(Chain)));
} else {
auto InsertResult = TriangleChainMap.try_emplace(PDom, &BB, PDom);
- assert (InsertResult.second && "Block seen twice.");
- (void) InsertResult;
+ assert(InsertResult.second && "Block seen twice.");
+ (void)InsertResult;
}
}
@@ -1177,7 +1177,11 @@ void MachineBlockPlacement::precomputeTr
for (MachineBasicBlock *src : reverse(Chain.Edges)) {
DEBUG(dbgs() << "Marking edge: " << getBlockName(src) << "->" <<
getBlockName(dst) << " as pre-computed based on triangles.\n");
- ComputedEdges[src] = { dst, true };
+
+ auto InsertResult = ComputedEdges.insert({src, {dst, true}});
+ assert(InsertResult.second && "Block seen twice.");
+ (void)InsertResult;
+
dst = src;
}
}
More information about the llvm-commits
mailing list