summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/include/llvm/Analysis/SparsePropagation.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/llvm/include/llvm/Analysis/SparsePropagation.h b/llvm/include/llvm/Analysis/SparsePropagation.h
index d4cbf0eb957..1a7fded7904 100644
--- a/llvm/include/llvm/Analysis/SparsePropagation.h
+++ b/llvm/include/llvm/Analysis/SparsePropagation.h
@@ -101,20 +101,26 @@ public:
/// Propagation with a programmable lattice function.
template <class LatticeVal> class SparseSolver {
- /// LatticeFunc - This is the object that knows the lattice and how to do
+ /// LatticeFunc - This is the object that knows the lattice and how to
/// compute transfer functions.
AbstractLatticeFunction<LatticeVal> *LatticeFunc;
- DenseMap<Value *, LatticeVal> ValueState; // The state each value is in.
- SmallPtrSet<BasicBlock *, 16> BBExecutable; // The bbs that are executable.
+ /// ValueState - Holds the lattice state associated with LLVM values.
+ DenseMap<Value *, LatticeVal> ValueState;
- std::vector<Instruction *> InstWorkList; // Worklist of insts to process.
+ /// BBExecutable - Holds the basic blocks that are executable.
+ SmallPtrSet<BasicBlock *, 16> BBExecutable;
- std::vector<BasicBlock *> BBWorkList; // The BasicBlock work list
+ /// InstWorkList - Holds instructions that should be processed.
+ SmallVector<Instruction *, 64> InstWorkList;
+
+ /// BBWorkList - Holds basic blocks that should be processed.
+ SmallVector<BasicBlock *, 64> BBWorkList;
+
+ using Edge = std::pair<BasicBlock *, BasicBlock *>;
/// KnownFeasibleEdges - Entries in this set are edges which have already had
/// PHI nodes retriggered.
- using Edge = std::pair<BasicBlock *, BasicBlock *>;
std::set<Edge> KnownFeasibleEdges;
public:
OpenPOWER on IntegriCloud