public:
GRConstants(GraphTy& g) : G(g), Liveness(G.getCFG(), G.getFunctionDecl()),
Builder(NULL),
- StateMgr(G.getContext()),
+ StateMgr(G.getContext(), G.getAllocator()),
ValMgr(StateMgr.getValueManager()),
SymMgr(StateMgr.getSymbolManager()),
StmtEntryNode(NULL), CurrentStmt(NULL) {
ASTContext& Ctx;
APSIntSetTy APSIntSet;
- llvm::BumpPtrAllocator BPAlloc;
+ llvm::BumpPtrAllocator& BPAlloc;
public:
- ValueManager(ASTContext& ctx) : Ctx(ctx) {}
+ ValueManager(ASTContext& ctx, llvm::BumpPtrAllocator& Alloc)
+ : Ctx(ctx), BPAlloc(Alloc) {}
+
~ValueManager();
ASTContext& getContext() const { return Ctx; }
SymbolManager SymMgr;
public:
- ValueStateManager(ASTContext& Ctx) : ValMgr(Ctx) {}
+ ValueStateManager(ASTContext& Ctx, llvm::BumpPtrAllocator& Alloc)
+ : ValMgr(Ctx, Alloc) {}
StateTy getInitialState() {
return Factory.GetEmptyMap();
unsigned num_roots() const { return Roots.size(); }
unsigned num_eops() const { return EndNodes.size(); }
+ llvm::BumpPtrAllocator& getAllocator() { return Allocator; }
CFG& getCFG() { return cfg; }
ASTContext& getContext() { return Ctx; }
FunctionDecl& getFunctionDecl() { return FD; }