From: Benjamin Kramer Date: Wed, 12 Apr 2017 13:26:31 +0000 (+0000) Subject: [MachineBlockPlacment] Add an assert to ensure there is no order dependency on DenseM... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4e5abdf67c5e0b97b97f594bd0c81fc099f013e8;p=llvm [MachineBlockPlacment] Add an assert to ensure there is no order dependency on DenseMap iteration order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@300060 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/MachineBlockPlacement.cpp b/lib/CodeGen/MachineBlockPlacement.cpp index 6c1381bce43..e23f90be409 100644 --- a/lib/CodeGen/MachineBlockPlacement.cpp +++ b/lib/CodeGen/MachineBlockPlacement.cpp @@ -1160,8 +1160,8 @@ void MachineBlockPlacement::precomputeTriangleChains() { 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::precomputeTriangleChains() { 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; } }