Lines Matching refs:CVPLatticeKey
51 using CVPLatticeKey = PointerIntPair<Value *, 2, IPOGrouping>; typedef
114 : public AbstractLatticeFunction<CVPLatticeKey, CVPLatticeVal> {
122 CVPLatticeVal ComputeLatticeVal(CVPLatticeKey Key) override { in ComputeLatticeVal()
170 Instruction &I, DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in ComputeInstructionState() argument
171 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) override { in ComputeInstructionState() argument
202 void PrintLatticeKey(CVPLatticeKey Key, raw_ostream &OS) override { in PrintLatticeKey()
240 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitReturn() argument
241 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitReturn() argument
245 auto RegI = CVPLatticeKey(I.getReturnValue(), IPOGrouping::Register); in visitReturn()
246 auto RetF = CVPLatticeKey(F, IPOGrouping::Return); in visitReturn()
256 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitCallBase() argument
257 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitCallBase() argument
259 auto RegI = CVPLatticeKey(&CB, IPOGrouping::Register); in visitCallBase()
279 auto RetF = CVPLatticeKey(F, IPOGrouping::Return); in visitCallBase()
281 auto RegFormal = CVPLatticeKey(&A, IPOGrouping::Register); in visitCallBase()
283 CVPLatticeKey(CB.getArgOperand(A.getArgNo()), IPOGrouping::Register); in visitCallBase()
300 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitSelect() argument
301 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitSelect() argument
302 auto RegI = CVPLatticeKey(&I, IPOGrouping::Register); in visitSelect()
303 auto RegT = CVPLatticeKey(I.getTrueValue(), IPOGrouping::Register); in visitSelect()
304 auto RegF = CVPLatticeKey(I.getFalseValue(), IPOGrouping::Register); in visitSelect()
313 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitLoad() argument
314 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitLoad() argument
315 auto RegI = CVPLatticeKey(&I, IPOGrouping::Register); in visitLoad()
317 auto MemGV = CVPLatticeKey(GV, IPOGrouping::Memory); in visitLoad()
329 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitStore() argument
330 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitStore() argument
334 auto RegI = CVPLatticeKey(I.getValueOperand(), IPOGrouping::Register); in visitStore()
335 auto MemGV = CVPLatticeKey(GV, IPOGrouping::Memory); in visitStore()
343 DenseMap<CVPLatticeKey, CVPLatticeVal> &ChangedValues, in visitInst() argument
344 SparseSolver<CVPLatticeKey, CVPLatticeVal> &SS) { in visitInst() argument
348 auto RegI = CVPLatticeKey(&I, IPOGrouping::Register); in visitInst()
358 template <> struct LatticeKeyInfo<CVPLatticeKey> {
359 static inline Value *getValueFromLatticeKey(CVPLatticeKey Key) { in getValueFromLatticeKey()
362 static inline CVPLatticeKey getLatticeKeyFromValue(Value *V) { in getLatticeKeyFromValue()
363 return CVPLatticeKey(V, IPOGrouping::Register); in getLatticeKeyFromValue()
371 SparseSolver<CVPLatticeKey, CVPLatticeVal> Solver(&Lattice); in runCVP()
388 auto RegI = CVPLatticeKey(C->getCalledOperand(), IPOGrouping::Register); in runCVP()