From 70e6b37768d55ddff56e65b2ca8813544cca15e3 Mon Sep 17 00:00:00 2001 From: Xin Tong Date: Wed, 28 Jun 2017 22:12:22 +0000 Subject: [PATCH] Make OrderedInstructions and OrderedBasicBlock use AssertingVH, to try and catch mistakes Summary: Make OrderedInstructions and OrderedBasicBlock use AssertingVH to try and catch mistakes Reviewers: efriedma Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34780 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306605 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/OrderedBasicBlock.h | 3 ++- include/llvm/Transforms/Utils/OrderedInstructions.h | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/include/llvm/Analysis/OrderedBasicBlock.h b/include/llvm/Analysis/OrderedBasicBlock.h index 2e716af1f60..dc0d3263b67 100644 --- a/include/llvm/Analysis/OrderedBasicBlock.h +++ b/include/llvm/Analysis/OrderedBasicBlock.h @@ -25,6 +25,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/IR/BasicBlock.h" +#include "llvm/IR/ValueHandle.h" namespace llvm { @@ -34,7 +35,7 @@ class BasicBlock; class OrderedBasicBlock { private: /// \brief Map a instruction to its position in a BasicBlock. - SmallDenseMap NumberedInsts; + SmallDenseMap, unsigned, 32> NumberedInsts; /// \brief Keep track of last instruction inserted into \p NumberedInsts. /// It speeds up queries for uncached instructions by providing a start point diff --git a/include/llvm/Transforms/Utils/OrderedInstructions.h b/include/llvm/Transforms/Utils/OrderedInstructions.h index 64c6bcb68b1..5f0aece83dc 100644 --- a/include/llvm/Transforms/Utils/OrderedInstructions.h +++ b/include/llvm/Transforms/Utils/OrderedInstructions.h @@ -24,13 +24,14 @@ #include "llvm/Analysis/OrderedBasicBlock.h" #include "llvm/IR/Dominators.h" #include "llvm/IR/Operator.h" +#include "llvm/IR/ValueHandle.h" namespace llvm { class OrderedInstructions { /// Used to check dominance for instructions in same basic block. - mutable DenseMap> - OBBMap; + mutable DenseMap, + std::unique_ptr> OBBMap; /// The dominator tree of the parent function. DominatorTree *DT; -- 2.40.0