mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
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 llvm-svn: 306605
This commit is contained in:
parent
9eac763e7b
commit
b0e062b44a
@ -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<const Instruction *, unsigned, 32> NumberedInsts;
|
||||
SmallDenseMap<AssertingVH<const Instruction>, 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
|
||||
|
@ -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<const BasicBlock *, std::unique_ptr<OrderedBasicBlock>>
|
||||
OBBMap;
|
||||
mutable DenseMap<AssertingVH<const BasicBlock>,
|
||||
std::unique_ptr<OrderedBasicBlock>> OBBMap;
|
||||
|
||||
/// The dominator tree of the parent function.
|
||||
DominatorTree *DT;
|
||||
|
Loading…
x
Reference in New Issue
Block a user