Lines Matching refs:LatticeKey
27 template <class LatticeKey> struct LatticeKeyInfo {
32 template <class LatticeKey, class LatticeVal,
33 class KeyInfo = LatticeKeyInfo<LatticeKey>>
45 template <class LatticeKey, class LatticeVal> class AbstractLatticeFunction {
66 virtual bool IsUntrackedValue(LatticeKey Key) { return false; } in IsUntrackedValue()
70 virtual LatticeVal ComputeLatticeVal(LatticeKey Key) { in ComputeLatticeVal()
90 DenseMap<LatticeKey, LatticeVal> &ChangedValues,
91 SparseSolver<LatticeKey, LatticeVal> &SS) = 0;
97 virtual void PrintLatticeKey(LatticeKey Key, raw_ostream &OS);
110 template <class LatticeKey, class LatticeVal, class KeyInfo>
115 AbstractLatticeFunction<LatticeKey, LatticeVal> *LatticeFunc;
118 DenseMap<LatticeKey, LatticeVal> ValueState;
137 AbstractLatticeFunction<LatticeKey, LatticeVal> *Lattice) in SparseSolver() argument
150 LatticeVal getExistingValueState(LatticeKey Key) const { in getExistingValueState()
158 LatticeVal getValueState(LatticeKey Key);
183 void UpdateState(LatticeKey Key, LatticeVal LV);
203 template <class LatticeKey, class LatticeVal>
204 void AbstractLatticeFunction<LatticeKey, LatticeVal>::PrintLatticeVal( in PrintLatticeVal()
216 template <class LatticeKey, class LatticeVal>
217 void AbstractLatticeFunction<LatticeKey, LatticeVal>::PrintLatticeKey( in PrintLatticeKey()
218 LatticeKey Key, raw_ostream &OS) { in PrintLatticeKey()
226 template <class LatticeKey, class LatticeVal, class KeyInfo>
228 SparseSolver<LatticeKey, LatticeVal, KeyInfo>::getValueState(LatticeKey Key) { in getValueState()
243 template <class LatticeKey, class LatticeVal, class KeyInfo>
244 void SparseSolver<LatticeKey, LatticeVal, KeyInfo>::UpdateState(LatticeKey Key, in UpdateState()
257 template <class LatticeKey, class LatticeVal, class KeyInfo>
258 void SparseSolver<LatticeKey, LatticeVal, KeyInfo>::MarkBlockExecutable( in MarkBlockExecutable()
266 template <class LatticeKey, class LatticeVal, class KeyInfo>
267 void SparseSolver<LatticeKey, LatticeVal, KeyInfo>::markEdgeExecutable( in markEdgeExecutable()
286 template <class LatticeKey, class LatticeVal, class KeyInfo>
287 void SparseSolver<LatticeKey, LatticeVal, KeyInfo>::getFeasibleSuccessors( in getFeasibleSuccessors()
368 template <class LatticeKey, class LatticeVal, class KeyInfo>
369 bool SparseSolver<LatticeKey, LatticeVal, KeyInfo>::isEdgeFeasible( in isEdgeFeasible()
382 template <class LatticeKey, class LatticeVal, class KeyInfo>
383 void SparseSolver<LatticeKey, LatticeVal, KeyInfo>::visitTerminator( in visitTerminator()
396 template <class LatticeKey, class LatticeVal, class KeyInfo>
397 void SparseSolver<LatticeKey, LatticeVal, KeyInfo>::visitPHINode(PHINode &PN) { in visitPHINode()
402 DenseMap<LatticeKey, LatticeVal> ChangedValues; in visitPHINode()
411 LatticeKey Key = KeyInfo::getLatticeKeyFromValue(&PN); in visitPHINode()
448 template <class LatticeKey, class LatticeVal, class KeyInfo>
449 void SparseSolver<LatticeKey, LatticeVal, KeyInfo>::visitInst(Instruction &I) { in visitInst()
457 DenseMap<LatticeKey, LatticeVal> ChangedValues; in visitInst()
467 template <class LatticeKey, class LatticeVal, class KeyInfo>
468 void SparseSolver<LatticeKey, LatticeVal, KeyInfo>::Solve() { in Solve()
501 template <class LatticeKey, class LatticeVal, class KeyInfo>
502 void SparseSolver<LatticeKey, LatticeVal, KeyInfo>::Print( in Print()
507 LatticeKey Key; in Print()