#include "llvm/ADT/DenseMap.h"
#include "llvm/IR/BasicBlock.h"
-#include "llvm/IR/ValueHandle.h"
namespace llvm {
class OrderedBasicBlock {
private:
/// \brief Map a instruction to its position in a BasicBlock.
- SmallDenseMap<AssertingVH<const Instruction>, unsigned, 32> NumberedInsts;
+ SmallDenseMap<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
#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<AssertingVH<const BasicBlock>,
- std::unique_ptr<OrderedBasicBlock>> OBBMap;
+ mutable DenseMap<const BasicBlock *, std::unique_ptr<OrderedBasicBlock>>
+ OBBMap;
/// The dominator tree of the parent function.
DominatorTree *DT;